J'ai du mal à comprendre ce qui se passe ici. J'essaye de coder un certain onClick javascript pour un bouton sur une vue de liste de Force.com pour un objet fait sur commande. Voici le JS.AJAX toolkit - problème avec webservice exécuter
{!REQUIRESCRIPT("/soap/ajax/15.0/apex.js")}
{!REQUIRESCRIPT("/soap/ajax/15.0/connection.js")}
var myURL = sforce.apex.execute("MyWebServices", "myUrl", {});
et voici le webservice que je tente d'appeler.
global class MyWebServices {
webservice static String myUrl(){
return 'www.foo.com';
}
}
Lorsque je clique sur le bouton, je reçois le petit pop-up d'alerte en disant:
« Un problème avec le JavaScript OnClick pour ce bouton ou un lien a été rencontré: Impossible d'appeler la méthode « exécuter » de undefined " Lorsque je répète les membres de" sforce ", il n'y a pas de" sommet ". J'utilise littéralement exactement la même syntaxe dans un autre bouton de cette même org, la seule différence étant les méthodes que j'appelle. Ce bouton fonctionne. En fait, si je copie le code du script de problème et le place en tête du script de travail sur l'autre bouton cela fonctionne. Qu'est-ce que j'oublie ici? Voici plus de détails sur l'élément à deux boutons de ce problème: Un bouton (qui fonctionne) est un bouton d'affichage de liste sur le compte, l'autre (cassé) est sur un bouton de liste d'objets personnalisés pour Foo__c.
J'utilise ce code pour les deux:
{!REQUIRESCRIPT("/soap/ajax/10.0/apex.js")}
{!REQUIRESCRIPT("/soap/ajax/10.0/connection.js")}
alert(sforce.apex.execute("HammockWebServices", "crossCoverageUrl", {}));
sur compte, il fonctionne parfaitement, sur Foo__c il ne fonctionne pas. J'ai essayé de changer l'ordre des instructions! REQUIRE ... sans effet observable.
Outre l'étiquette et le nom des boutons, ils semblent définis de façon identique: Liste Bouton Affichage cases à cocher Exécuter JavaScript OnClickJavaScript
Y at-il des autorisations au niveau objet, des profils ou des règles de partage qui affectent qui javascript les paquets peuvent être accédés? (Notez que même si c'était le cas, j'essaye ceci comme sysadmin, et n'obtenant nulle part ...)
À mon humble avis, vous voudriez utiliser Visualforce pour cela.Cela vous épargnera beaucoup de maux de tête au lieu de traiter avec le toolkit ajax qui est la toute première itération des outils construits par salesforce, et qui est beaucoup plus difficile à utiliser. –