繁体   English   中英

AJAX请求中没有“ Access-Control-Allow-Origin”标头存在错误

[英]No 'Access-Control-Allow-Origin' header is present error in AJAX Request

  $.ajax({
            url: 'http://test.aegi.com/rest/social/update/@ViewBag.orgId?access_token=6fWV564u7rATh8=',
            type: 'POST',
            contentType: 'application/json',
            data: [{
                "message": "It's party time",
                "messageType": "NEW",
                "gmtTimeDate": "2014-12-21 23:59:59",
                "soAccts": [{
                    "accountId": "74470431",
                    "soAccountType": "FBPAGE"
                }]
            }],

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

        });

当我尝试发送此请求AJAX ,出现错误: No 'Access-Control-Allow-Origin' header is present
但是在dhc chrome扩展名上,当我在正文部分中输入相同的上述数据并发送请求时,我会收到成功的响应。 我在这里做错什么了吗?

Modern Browser禁止跨源请求,因此他们需要提供“ Access-Control-Allow-Origin”响应标头,如果不存在,则会收到该错误。

像邮递员这样的Chrome扩展程序可以规避此限制。

如果您有权访问服务器,则应将“ Access-Control-Allow-Origin”添加到响应标头或使用jsonp。

检查CORS以获取更多信息。

尝试添加标题:

headers: { 'Access-Control-Allow-Origin', '*' }
* in above line will allow access to all domains.

headers: { 'Access-Control-Allow-Origin', 'http://www.example.com' }
For allowing access to specific domain only.

编辑答案:

beforeSend: function(xhr) {
    xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
}

您可以在ajax请求中使用json dataType:“ jsonp”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM