json 我的JavaScript API不适用于“删除-控制-允许-起源'丢失”错误[重复]

x33g5p2x  于 12个月前  发布在  Java
关注(0)|答案(1)|浏览(207)

此问题在此处已有答案

XMLHttpRequest cannot load XXX No 'Access-Control-Allow-Origin' header(11个回答)
6年前关闭。
我想调用一个API来发布闲置的JSON:

"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写的。

gmxoilav

gmxoilav1#

CORS(Cross-Origin Resource Sharing)
跨域资源共享(CORS)是一种机制,它使用额外的HTTP头来让用户代理获得从与当前使用的站点不同的源(域)上的服务器访问选定资源的权限。
例如,如果你想从http://bar.com发送请求,获取存储在http://foo.com上的资源,你应该在响应中添加Access-Control-Allow-Origin: *头。
来源:Server-Side Access Control (CORS)Cross-Origin Resource Sharing (CORS)

相关问题