2016-04-19 4 views
1

と協力し、JSON-RPCサービスにデータを投稿しようとしているが、私は「500内部サーバーエラー

 var req = { 

     url: 'http://192.118.1.214:8080/remote/json-rpc', 
     headers: { 
      'content-type': 'application/json;charset=utf-8', 
      'cache-control': 'no-cache, no-store, must-revalidate, max-age=0' 
     }, 

     data: { jsonrpc: "2.0", id: 2, method: "HDAccess/getDevices", params: [null] } 
    } 


    $http(req).then(function (res) { alert(res); return res; }, 
        function (er) { alert(er); }); 
を取得していますされていません

ウェブコンソールからのリクエストの詳細です。私はPOSTMAN拡張子で同じURLとPOSTメソッドを使用していると働いてしまったが、それは上記のコードで働いていない「CORS」問題を回避するために

Request URL:http://192.118.1.214:8080/remote/json-rpc 
Request Method:OPTIONS 
Status Code:500 Internal Server Error 
Remote Address:192.118.1.214:8080 
Response Headers 
view source 
cache-control:no-cache, no-store, must-revalidate, max-age=0 
content-length:810 
content-type:text/html; charset=UTF-8 
date:Tue, 01 Mar 2016 08:00:50 GMT 
pragma:no-cache 
Request Headers 
view source 
Accept:*/* 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6 
Access-Control-Request-Headers:accept, cache-control, content-type 
Access-Control-Request-Method:GET 
Connection:keep-alive 
Host:192.118.1.214:8080 
Origin:http://evil.com/ 
Referer:http://localhost:8100/ 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 

をクロムCORSプラグインを使用していました。データ1.Why

は、上記の要求の詳細には言及されていない:

enter image description here

以下

検索POSTMAN入力は、私は3つの疑問を持っています。

3.whyは、それがコードによって作業が、クロムPOSTMANの拡張子クライアント

では正常に動作していない方法2.Why

は、「オプション」として示したが、私は「POST」メソッドを使用していてください。この問題を解決するために私を導く。

答えて

1

上記のリクエストの詳細にデータが記載されていないのはなぜですか?

データは、サーバーがOPTIONS要求に許可で応答した場合にブラウザが送信するPOST/PUT要求になります。この方法は、「オプション」として示されたされていますが、JSONフォーマットされたボディとリクエストを送信しているので、私は「POST」メソッド

を使用していますなぜ

、あなたは、プリフライトOPTIONS要求をトリガしています。

も参照してください、私は「CORS」問題

を避けるためにプラグインクロムCORSを使用していたWhy am I getting an OPTIONS request instead of a GET request?

...少なくともではない、OPTIONS要求を処理できるようにするには表示されません。サーバーは500 Internal Server Errorで応答します。

OPTIONS要求に応答できるようにサーバーを修正します。なぜそれがクロームPOSTMANの拡張子クライアントに

をコードで作業が、正常に動作していません

あなたはポストマンを使用する場合、関係する第三者は存在しないので、への信頼の問題は存在しないため心配して。また、XMLHttpRequest cannot load https://www.[website].com/

+0

本当に大きな説明と私は今問題を理解することができます。 サーバー側からどのような変更が必要か教えてください。 – Naju

+1

200 OKと適切なCORSヘッダーでOPTIONSに応答する必要があります。 – Quentin

+0

"OPTION"メソッドを追加しましたが、次のエラーが発生しました。 XMLHttpRequestはhttp://192.118.1.254:8000/system/http/loginを読み込めません。 'Access-Control-Allow-Origin'ヘッダーには複数の値 'http://evil.com/、*'が含まれていますが、1つだけが許可されています。したがって、 'http:// localhost:8101'はアクセスが許可されていません。 – Naju

関連する問題