2010-07-23 6 views
0

J'utilise ce code de http://www.joe-stevens.com/2010/01/04/using-jquery-to-make-ajax-calls-to-an-asmx-web-service-using-asp-net/Appeler un webservice en utilisant JQuery

function callWebService(address) { 
var result; 
$("#result").addClass("loading"); 
    $.ajax({ 
     type: "POST", 
     url: address, 
     data: "{}",contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: Success, 
     error: Error 
    }); 
} 

function Success(data, status) { 
$("#result").removeClass("loading"); 
$("#result").html(data.d); 
alert("Success"); 
} 

function Error(request, status, error) { 
$("#result").removeClass("loading"); 
$("#result").html(request.statusText); 
alert("Error"); 
} 

Je ne comprends pas ce qui ne va pas avec ce code. Il continue de renvoyer "Erreur"

+0

et comment appelez-vous la méthode 'callWebService'? –

+0

et que dit 'request.statusText'? –

+0

rien .. il revient vide:/ – Lilz

Répondre

1

Assurez-vous également que l'URL du service auquel vous essayez d'accéder se trouve dans le même domaine que votre site. Les appels AJAX n'aboutiront pas si vous traversez des domaines, car les navigateurs soumettent les appels AJAX au same domain policy. Pouvez-vous également inclure l'URL à laquelle vous essayez d'accéder?

Si vous essayez d'accéder à une ressource sur un domaine différent, vous pouvez envisager une requête JSONP à la place. Voir le jQuery AJAX documentation pour une discussion sur l'utilisation de JSONP.

Je pense que si vous combinez savoir l'URL que vous essayez d'accéder avec les suggestions de Justin et Mohlsen, je pense que nous pouvons vous aider.

0

Votre code semble bien à première vue.

Je vous recommande d'utiliser Firebug pour tenter d'isoler le problème plus loin, car il vous permettra de voir les requêtes HTTP réelles, données, etc Publié ...

0

Quelques suggestions basées sur un code que j'ai fait ce. Mais comme d'autres l'ont dit, assurez-vous de regarder manuellement les données qui sortent et reviennent. Votre lien fait référence à asp.net webservice, c'est ce que vous appelez puisque vous ne l'avez pas mentionné.

  • Assurez-vous que l'URL « adresse » est de la forme /location/page.asmx/methodname
  • Vous pourriez avoir besoin de transmettre les données à la méthode de succès dans l'appel

    success: function(msg) { 
     //msg is a json object, .d is the data field returned by asp.net 
     if (msg.d.length > 0) 
      ProcessData(msg.d); 
     else 
      HandleError('No data was returned.'); 
    }, 
    error: function() { 
     HandleError('There was a problem calling the webservice.'); 
    } 
+0

ne peut pas obtenir markdown pour travailler avec ce code –

Questions connexes