2011-12-29 13 views
0

可能性の重複:
Cross-domain XHR/AJAX : a possible workaround?クロスドメインのWebサービスコール

私は別のサーバー上で実行されているRESTfulなWebサービスへの私のJavascriptの中からxmlHttpRequestを実行しようとしました。私は私がドメイン間でXmlhttpRequestを作ることができないことを知ったグーグル後

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

を指定するJSのエラーを得ました。

JavascriptからクロスドメインWebサービスコールを実装する最良の方法は何ですか。

答えて

0

こんにちは私はあなたのサーバー上の変更を行う必要があり、この

callBack({your:json}); 
0

のように、それはまた、JSONPを返す必要があり
サーバー側の機能のために

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

今私のアプリケーションでこれを使用していますローカルホストサーバーからの要求を許可します。あなたはApacheのhttpdの-vhosts.confファイルの設定を変更します。

<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> 

あなたがApacheサーバに値を設定し、ヘッダを見て、基本的にWebサービスを意味

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 

を見ることが後アプリケーションのサーバーが任意の呼び出し元に要求を処理しています。

+0

これは、Apache Tomcatの設定では可能ですか?Apache httpdを使用しませんか? – jgomo3