Voici un problème intéressant:ne peut pas consommer ASP.NET Web Service de jQuery
J'ai quelques jQuery qui ressemble à ceci:
$(document).ready(function() {
$.ajax({
type: "POST",
url: "http://localhost:63056/Service1.asmx/PrintOrderRecieptXml",
data: {"CouponCode":"TESTCODE","Subtotal":14.2600,"ShippingTotal":7.5000,"TaxTotal":0.0000,"GrandTotal":21.7600,"OrderItemCollection":[{"Total":14.2600,"Qty":250}]},
dataType: "json",
contentType: "application/json",
error: function(xhr, msg) { alert(xhr.statusText); }
});});
Maintenant, le problème que je vais avoir est qu'il est envoyer la demande, mais le service Web ne la traite pas correctement. Dans IE, je reçois une boîte d'alerte avec "Internal Server Error" et avec FireFox je reçois une boîte d'alerte avec rien dedans.
La chose étrange est que lorsque j'utilise IE, je ne reçois pas un événement d'erreur dans mon journal des événements, mais avec firefox je reçois (points de bonus pour comprendre pourquoi c'est):
« Message d'exception: format demande non reconnu pour l'URL se termine de façon inattendue dans «/PrintOrderRecieptXml »
J'ai poussé autour de certains et a découvert que, parfois, vous devez ajouter:
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost" />
<add name="HttpPostLocalhost"/>
</protocols>
</webServices>
pour votre web.config, que je l'ai fait, mais il l'a fait pas d'aide. Ce qui est intéressant, c'est que le service Web fonctionne correctement avec SOAP ou envoie une chaîne de requête, mais pas avec JSON.
Des idées?
+1 Battez-moi !! –
Cela semble être le bon chemin. Cependant, ne fonctionne toujours pas dans Firefox. Fonctionne très bien dans IE. – James
Comment cela échoue-t-il dans Firefox maintenant? Voyez-vous la demande au serveur? La requête est-elle traitée correctement par ASP.Net? Est-ce que cela touche votre côté client du gestionnaire 'error'? – Annabelle