2011-01-04 9 views
2

Tomcat(http:// localhost:8080/myrestfulapp/aservice /)にJava REST Webサービスがデプロイされています。XMLHttpRequestクロスオリジンリソース共有(qooxdooとtomcat)

私のqooxdooアプリケーションでは、qx.io.remote.Requestを使用してPOSTリクエストを送信しようとしています。 私はアプリケーションをビルドし、Apache HTTPサーバー(http://myserver.org)にデプロイしました。 私がリクエストを送信しようとすると、私は私のウェブブラウザ(Linux上のクロム)のJavaScriptコンソールにこのエラーが表示されます。 起源のhttp // myserver.orgがで許可されていないアクセス制御 - 許可 - 起源

I TomcatのROOT webapp、/ var/www、httpサーバのルートディレクトリにcrossdomain.xmlを追加しました。 私はApacheのヘッダー(a2enmodヘッダー)を有効にし、サーバーの構成ファイルにAccess Control-Allow-Origin "*"を追加しました。ここ

は、要求を送信し、私のqooxdoo機能である: SERVERADMINウェブマスター@ localhostの serverNameのmyserver.org

​​

envoyer : function(id, nom, prenom, poste) 
{ 
    var url = "http://localhost:8080/helloworld/enregistrer"; 
    var donnees = "{ \"id\":" + id + ", \"nom\":\"" + nom + "\", \"prenom\":\"" + prenom + "\", \"poste\":\""+poste +"\" }"; 
    alert(donnees); 
    var req = new qx.io.remote.Request(url, "POST", "application/json"); 
    req.setData(donnees); 

    req.addListener("completed", function(e) { 
      alert(e.getContent()); 
    }); 
    req.send(); 
} 

、ここではmyserver.org設定ファイルです

qooxdooアプリからクロスオリジンhttpリクエストを送信する方法を教えてくださいTomcatにデプロイされたJavaバックエンドに? 「真」にご「qx.io.remote.Request」インスタンスから

+1

クロスドメインリクエストコントロールはブラウザ機能ですので、これについてはサーバー側で何もできないと思います。 jsonp形式はこれに関してあなたを助けるかもしれません –

+1

最新のブラウザでは、クロスドメインサポートのためのいくつかのサーバーサイドオプションがあります。 https://developer.mozilla.org/En/HTTP_Access_Controlをご覧ください。 – cjimti

答えて

1

あなたはqooxdooと他のドメインにアクセスしようとすると、プロパティを設定する必要があり、「クロスドメイン」:詳細について

req.setCrossDomain(true); 

APIを見てください。 http://demo.qooxdoo.org/current/apiviewer/#qx.io.remote

関連する問題