Depuis quelques jours, j'essaie de faire fonctionner un service web ASMX via jQuery.Appeler asmx via jquery se trompe url
Heres mon code
<script type="text/javascript">
$(document).ready(function() {
$("#btnTest").click(function() {
$.ajax({
type: "POST",
url: "/WebService.asmx/HelloWorld",
cache: false,
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json",
success: function (data) {
alert(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) { alert(textStatus + ' ' + errorThrown + ' ' + XMLHttpRequest); }
});
});
});
</script>
Le problème semble être que les contrôles du navigateur pour cette url:
http://localhost:52657/WebService.asmx/CheckSmtp
Quand il faut vraiment vérifier cette url:
http://localhost:52657/myappname/WebService.asmx/CheckSmtp
J'ai donc essayé sans le slash dans l'URL $.ajax
, mais alors c'est pire, car si je suis sur une page admin/products/edit alors l'ajax va à admin/products/edit/webservice.asmx
ce qui est définitivement faux.
Alors, comment puis-je demander à jquery de regarder dans le dossier racine?
Il se peut que le problème soit uniquement sur localhost, mais je ne peux rien tester de cette façon.
Merci un million. En fait meanwhlile quelqu'un m'a envoyé une astuce de mettre une étiquette dans la page maître qui obtient son côté de la valeur du serveur à la racine du chemin. et ça a marché. mais cette technique m'a fixé un problème différent. le src du javascript ne résolvait pas non plus correctement. J'ai utilisé votre réponse et cela fonctionne. Merci. Amchoo? –
ok. maintenant j'ai eu la chance de l'utiliser dans la partie url de l'ajax contol. ça marche juste dandy –