2010-12-08 9 views
0

L'article suivant sur msdn fournit la solution ASP.NET AJAX d'appeler un service web avec AJAX ... http://msdn.microsoft.com/en-us/magazine/cc163499.aspx commeappel AJAX aux services Web

<asp:ScriptManager ID="_scriptManager" runat="server"> 
    <Services> 
    <asp:ServiceReference Path="StockQuoteService.asmx" /> 
    </Services> 
</asp:ScriptManager> 

Et puis d'utiliser le nom de classe directement dans JScript. Mais quand j'ai téléchargé le service sur un autre domaine et essayé de faire la même chose, cela ne fonctionnerait pas. Est-ce que je ne peux pas le faire ou est-ce que je manque quelque chose? Merci d'avance ...

+0

Essayez de naviguer directement vers le .asmx sur l'autre domaine. Que vois-tu? –

+0

Fonctionne bien. Même fonctionne très bien sur un appel de serveur normal. Seul problème avec l'appel AJAX. – mihsathe

Répondre

2

En raison de la restriction same origin policy, cela n'est pas possible. Vous ne pouvez pas effectuer d'appels AJAX interdomaines. Une solution de contournement possible consiste à utiliser JSONP mais vous devrez disposer d'un service Web qui le prend en charge.

+0

Oh, je ne comprenais pas qu'il essayait de consommer le service à distance, a pensé qu'il a téléchargé le tout ..: - | –

0

Vous voudrez peut-être donner à ce tourbillon si vous êtes en mesure d'utiliser Jquery:

http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html

+0

Merci. Je vais essayer ça. Juste curieux de savoir; comment font-ils cela dans jQuery? dans le sens, comment auraient-ils mis en œuvre sans aucun côté serveur? – mihsathe

+0

@mihsathe, ils utilisent PHP pour implémenter un script de passerelle côté serveur entre les domaines. Ensuite, jquery effectue simplement une requête AJAX normale à ce script PHP qui délègue l'appel au domaine distant. –

+0

oups ne l'a pas lu correctement. Dans ce cas, cela devient la solution évidente. Mais alors pourquoi devrais-je créer un service web et ne pas implémenter toute la logique dans la même page PHP? – mihsathe

0

S'il vous plaît installer Fiddler2 et surveiller votre demande/réponse, il est très utile dans le dépannage ajax et services Web questions.

+0

logiciel cool ... – mihsathe

Questions connexes