0

Javascript を高速に開発するための Apache HTTP サーバーと、JSON REST API を提供するアプリケーション サーバー (WebSphere) からなる開発環境があります。もちろん、Access-Control-Allow-Origin(*に)設定されています。

次のコードはエラーになります。

 xhr.post({
  url: "http://localhost:8080/rest-sample/rest/test/list",
  handleAs: "json",
  load: onload
 });

 RequestError: Unable to load
 http://localhost:8080/rest-sample/rest/test/list status: 0
 ErrorCtor()create.js (Zeile 13) onError()xhr.js (Zeile 80)     

 var err = Error.call(this, message),

AJAX 要求を送信する代わりに、JavaScript エラーがスローされます。ただし、同時に、次の jQuery スニペットは完璧に機能します。

    var url = "http://localhost:8080/rest-sample/rest/test/list"
    $.post(url, {}, onLoad, 'json')

私の質問は、私が間違っていることは何ですか? Dojoを使用してAJAXリクエストを他のサーバーに送信する方法は?

私は道場1.9を使用しています

4

2 に答える 2

1

xhr.post はサポートされなくなったと思います。dojo/request を使用するか、少なくとも dojo/request/xhr を使用することをお勧めします

require(["dojo/request/xhr"], function(xhr){
  xhr("http://localhost/rest-sample/rest/test/list", {
    handleAs: "json",
    method: "POST"
  }).then(function(data){
    // Do something with the handled data
  }, function(err){
    // Handle the error condition
  }, function(evt){
    // Handle a progress event from the request if the
    // browser supports XHR2
  });
});

クロス オリジンの問題である場合は、http サーバーで ReverseProxy を使用することをお勧めします。

これを httpd.conf に追加します

ProxyPass /rest-sample/ http://localhost:8080/rest-sample/
于 2013-06-28T11:28:03.853 に答える