Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 否';访问控制允许原点';标头在AJAX请求中存在错误_Javascript_Jquery_Ajax_Api_Rest - Fatal编程技术网

Javascript 否';访问控制允许原点';标头在AJAX请求中存在错误

Javascript 否';访问控制允许原点';标头在AJAX请求中存在错误,javascript,jquery,ajax,api,rest,Javascript,Jquery,Ajax,Api,Rest,当我试图发送此请求时,AJAX我收到一个错误:不存在“访问控制允许源代码”标题但在dhc chrome扩展上,当我将上述相同数据放入正文部分并发送请求时,我得到了成功响应。我在这里做错了什么吗?尝试添加标题: $.ajax({ url: 'http://test.aegi.com/rest/social/update/@ViewBag.orgId?access_token=6fWV564u7rATh8=', type: 'POST',

当我试图发送此请求时,
AJAX
我收到一个错误:
不存在“访问控制允许源代码”标题

但在dhc chrome扩展上,当我将上述相同数据放入正文部分并发送请求时,我得到了成功响应。我在这里做错了什么吗?

尝试添加标题:

  $.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);
            }

        });
编辑答案:

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.

现代浏览器禁止跨源请求,因此它们需要“访问控制允许源”响应头存在,如果不存在,则您将收到该错误

而像postman这样的chrome扩展则绕过了这一限制


若您有权访问服务器,那个么您应该在响应头中添加“access Control Allow Origin”或使用jsonp


查看CORS了解更多信息

您可以在ajax请求中使用json数据类型:“jsonp”

您的应用程序是否在任何服务器上运行?或者检查html文件?我的应用程序在本地服务器上运行,api在不同的服务器上运行Access Control Allow Origin用于响应,而不是请求@kwan245所说的内容。添加标题不会有任何作用。服务器端控制可以访问它的内容。我使用post请求,jsonp使用get请求,甚至尝试了这个方法,但仍然不起作用:var headers={'Access Control Allow Origin':'*','Access Control Allow Methods':'POST,GET,OPTIONS,PUT','Content Type':'application/json','Accept':'application/json'};在ajax:headers:headers中,“Access-Control-Allow-Origin”应该放在服务器响应中,而不是请求中。好的,但是如何克服这个问题呢?我发送的json格式有什么错误吗?请求没有问题,您能更改服务器响应吗?服务器响应的请求不正确,c中有一个DHC插件当我粘贴数据时,服务器响应成功。
beforeSend: function(xhr) {
    xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
}