XMLHttpRequest无法加载,因为对预检请求的响应未通过访问控制检查

时间:2016-12-14 12:35:15

标签: javascript html ajax post

我一直在尝试使用自定义标头向服务器发送帖子请求。但是我一直收到错误

  

XMLHttpRequest无法加载http://api.xxx.com:8080/upload。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:8000”访问。

我在互联网上阅读了答案,但我找不到解决方案。代码托管在localhost:8000

以下是代码:

$("#submit").on('click', function(e) {
    alert("click");
    $.ajax({
        type:'POST',
        headers: { 'userID': '123456789', 'title':'Website', 'type':'fill_in'},
        url :"http://api.xxx.com:8080/upload",
        contentType: 'text-plain',
        success: function(data) {
            console.log('success',data);
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert('status', xhr.status);
            alert(thrownError);
        }
    });
    e.preventDefault();
});

服务器正在运行cherrypy,下面是相关代码:

cherrypy.response.headers["Access-Control-Allow-Origin"] = "*"
cherrypy.response.headers["Access-Control-Request-Headers"] = "userID, title, type"

0 个答案:

没有答案