2016-05-26 15 views
1

私のバックエンドエンジニアによって提供されたcurlコマンドです。コマンドラインでうまく動作します。私はそれをreactjsに変換する必要があります。私はそれをすることができなかったので、私はアヤックスでそれをやろうとしています。curlコマンドに相当するAjaxリクエスト

curl -v -H "Origin: http://example.com" -H "Access-Control-Request-Method: POST" -H "Access-Control-Request-Headers: X-Requested-With" -H "Authorization: ELS <your_token_here>" -X OPTIONS "localhost:9000/proj/user/token/<your_token_here>" 

JS:

_login(username,password){ 
    console.log(username+password) 
    $.ajax({ 
     type: 'POST', 
     contentType:'application/json', 
     url: 'http://localhost:9000/proj/user/token', 
     beforeSend: function(xhr) { 
      xhr.setRequestHeader("Origin", "http://localhost:3000"); 
      xhr.setRequestHeader("Access-Control-Request-Method", "POST"); 
      xhr.setRequestHeader("Access-Control-Request-Headers", "X-Requested-With"); 
      xhr.setRequestHeader("tokem", token); 

     }, success: function(data){ 
      console.log(dtata); 
     }, error: function(e){ 
      console.log(e); 
     } 
    }) 
    } 

私はjqueryの-2.2.4.min.jsのようなエラーが出る:4は、ウェブブラウザでのJavaScriptの使用など、安全でないヘッダー "起源" を設定する

答えて

0

を拒否たとえば、cURLを使用して手動で行うことができるのと同じ要求を行うことはできません。これはセキュリティのためです。それらの上に、あなたはOriginヘッダーを設定できないということです。ブラウザは、Originヘッダーが実際の「原点」であることを強制します。参考:Chrome Extension: how to change origin in AJAX request header?

Originヘッダを設定せずに期待どおりに動作するか試してみてください。

+0

あなたは正しいです。私はajaxリクエストヘッダを設定できません。私は電話で問題が何かを知った。間違ったリクエストヘッダー(username、pwd)を渡していました。一度それを取り除くと、それは働き始めた。お返事をありがとうございます。 – tv3free

関連する問題