This question already has answers here:
XMLHttpRequest cannot load XXX No 'Access-Control-Allow-Origin' header
(8个答案)
2年前关闭。
我想调用一个发布休闲JSON的API:
它在Postman,Android和Python上都很好用,但是不幸的是,当我使用以下代码测试Javascript时:
我收到此错误:
原因:CORS hejquery“访问控制允许来源”缺失
我用
但不会发送到服务器。
我也尝试过使用jQuery。
我必须添加此注释,该服务器已使用RubyOnRails编写。
(8个答案)
2年前关闭。
我想调用一个发布休闲JSON的API:
"user": {
"username": "username",
"password": "pass",
"password_confirmation": "passconfirm",
"user_type": "admin"
},
"profile": {
"first_name": "firstname",
"last_name": "lastname"
}
它在Postman,Android和Python上都很好用,但是不幸的是,当我使用以下代码测试Javascript时:
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);
}
我收到此错误:
原因:CORS hejquery“访问控制允许来源”缺失
我用
console.log()
打印json文件,然后看到了json文件。但不会发送到服务器。
我也尝试过使用jQuery。
我必须添加此注释,该服务器已使用RubyOnRails编写。
最佳答案
发生这种情况是由于CORS(跨原始资源共享)
跨域资源共享(CORS)是一种机制,它使用其他HTTP标头来使用户代理获得从与当前使用的站点不同的源(域)上的服务器访问选定资源的权限。
例如,如果要获取存储在http://foo.com
上的资源,该资源从http://bar.com
发送请求,则应在响应中添加Access-Control-Allow-Origin: *
标头。
来源:Server-Side Access Control (CORS)和Cross-Origin Resource Sharing (CORS)
关于javascript - 我的JavaScript API无法用于“缺少Access-Control-Allow-Origin”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47111472/
10-15 00:01