2013-02-02 3 views
1

J'ai implémenté le script autosuggest en utilisant jQuery sur mon site web. Lorsque navigateur charger mon site avec www (à savoir www.xyz.com) suggestion de recherche ne fonctionne et imprime l'erreur suivante dans la console du navigateur:XMLHttpRequest ne peut pas charger lorsque l'URL est avec www

XMLHttpRequest ne peut pas charger http://xyz.com/json.php?json=true&limit=15&input=testing. Origine http://www.xyz.com n'est pas autorisé par Access-Control-Allow-Origin.

Je sais que jQuery/Chrome ne me permet de faire appel AJAX inter-domaines, mais quand j'accéder à mon site sans www (dire juste xyz.com) tout fonctionne parfaitement. Comment puis-je résoudre ce problème ? Quelqu'un a-t-il une idée à ce sujet?

Répondre

4

Vous enfreignez le same origin policy restriction.

http://www.xyz.com et http://xyz.com sont considérés comme des domaines croisés selon cette politique.

Pour résoudre le problème il suffit d'utiliser une URL relative dans votre $.ajax() demande:

$.ajax({ 
    url: '/json.php', 
    ... 
}); 

au lieu d'absolu:

$.ajax({ 
    url: 'http://xyz.com/json.php', 
    ... 
}); 
+0

si je suis avec javascript accède simple? –

+0

C'est absolument pareil. Vous devriez utiliser une URL relative. Que pensez-vous que la méthode '$ .ajax()' fait à la fin de la journée? Il utilise un javascript simple en coulisse pour instancier l'objet 'XMLHttpRequest' et lui passer l'URL. –

+0

Cela n'a pas fonctionné pour moi: o! Je change de chemin relatif. Pourtant, je suis confronté à la même erreur .. –

Questions connexes