2017-11-04 3 views
-1

「アクセス制御 - 許可 - 起源行方不明」エラーのために動作しません。私は次のコードでのJavascriptに試験した場合、残念ながら:私のJavaScript APIのは、私は休閑のJSONを投稿APIを呼び出すしたい

function sendData() { 
/* 
    get json value from HTML form. 
*/ 
    var firstname = document.forms["registerForm"]["first_name"].value; 
    var lastname = document.forms["registerForm"]["last_name"].value; 
    var pass = document.forms["registerForm"]["password"].value; 
    var passconfirm = document.forms["registerForm"]["password_confirmation"].value; 
    var username = document.forms["registerForm"]["username"].value; 

    var json_date = { 
     "user": { 
      "username": username, 
      "password": pass, 
      "password_confirmation": passconfirm, 
      "user_type": "admin" 
     }, 
     "profile": { 
      "first_name": firstname, 
      "last_name": lastname 
     } 
    }; 

    var data = JSON.stringify(json_date); 
    console.log(json_date); 
    var xhr = new XMLHttpRequest(); 
    xhr.withCredentials = true; 

    xhr.addEventListener("readystatechange", function() { 
     if (this.readyState === 4) { 
      console.log(this.responseText); 
     } 
    }); 

    xhr.open("POST", send); 
    xhr.setRequestHeader("content-type", "application/json"); 

    xhr.send(data); 

} 

私はこのエラーを取得する:

Reason: CORS hejquery‘Access-Control-Allow-Origin’ missing

console.log()でjsonファイルを印刷してからjsonファイルを見ました。

サーバーには送信しません。

jQueryでも試しました。

このノートを追加する必要があります。このノートはRubyOnRailsで書かれています。

+0

アクセス制御は、原点ヘッダは、サーバーの応答の一部として提供されますことができます。応答ヘッダーをここに貼り付けることはできますか – Tanmay

答えて

0

あなたがあなたの応答Access-Control-Allow-Origin: *ヘッダを追加する必要がありますhttp://bar.comからのリクエストを送信するhttp://foo.comに保存されているリソースを取得したい場合は、この理由は、CORS(クロスオリジンリソースの共有)の例については

Cross-Origin Resource Sharing (CORS) is a mechanism that uses additional HTTP headers to let a user agent gain permission to access selected resources from a server on a different origin (domain) than the site currently in use.

を発生します。

出典: Server-Side Access Control (CORS) Cross-Origin Resource Sharing (CORS)

関連する問題