2011-12-29 3 views
0

Possible en double:
Cross-domain XHR/AJAX : a possible workaround?Cross Domain Webservice Appel

j'ai essayé de faire un xmlHttpRequest à partir de mon Javascript à un service Web qui est en cours d'exécution Restful sur un autre serveur. Je suis une erreur JS spécifiant

"XMLHttpRequest cannot load 'URL'.Origin 'localhost' is not allowed by Access-Control-Allow-Origin. 

Après googler je suis arrivé à savoir que je ne peux pas faire un XmlhttpRequest à travers les domaines.

Je voudrais savoir quelle est la meilleure façon de mettre en œuvre un appel de service Web inter-domaine à partir de mon Javascript.

Répondre

0

Salut j'utilise avec mes applications

function CrossDomainAjax(url, data, callback){ 
    $.ajax({ 
    type: "GET", 
    url: url, 
    data: data, 
    contentType: "application/json; charset=utf-8", 
    dataType: "jsonp", 
    jsonpCallback: callback 
    });  
} 

maintenant la fonction côté serveur
il devrait revenir jsonp aussi, comme celui-ci

callBack({your:json}); 
0

Vous devez faire des changements sur le serveur pour autoriser la demande de votre serveur localhost. Vous modifiez les paramètres dans votre fichier httpd-vhosts.conf apache:

<VirtualHost *:80> 
ServerAdmin [email protected] 
DocumentRoot “C:/apache-tomcat-6.0.29/webapps/myApplication” 
ServerName skill-guru.com 
ErrorLog “logs/skg1-error.log” 
CustomLog “logs/skg1-access.log” common 


Header set Access-Control-Allow-Origin “*” 

<Directory “C:/apache-tomcat-6.0.29/webapps/myApplication”> 
Options -Indexes FollowSymLinks 
AllowOverride AuthConfig FileInfo 
Order allow,deny 
Allow from all 
</Directory> 

JkUnmount /*.jsp ajp13 

</VirtualHost> 

Maintenant, après avoir défini la valeur dans le serveur apache et regardez l'en-tête et verriez

HTTP/1.1 200 OK 
Date: Mon, 01 Dec 2008 00:23:53 GMT 
Server: Apache/2.0.61 
Access-Control-Allow-Origin: * 
Keep-Alive: timeout=2, max=100 
Connection: Keep-Alive 
Transfer-Encoding: chunked 
Content-Type: application/xml 

ce qui signifie essentiellement votre service Web Le serveur de l'application sert la demande à tout appelant.

+0

Est-ce possible dans la configuration Apache Tomcat, sans utiliser un httpd Apache? – jgomo3