Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 请求正在与邮递员一起工作,但生成的代码段不起作用_Javascript_Ajax_Postman - Fatal编程技术网

Javascript 请求正在与邮递员一起工作,但生成的代码段不起作用

Javascript 请求正在与邮递员一起工作,但生成的代码段不起作用,javascript,ajax,postman,Javascript,Ajax,Postman,因此,我试图通过AJAX在JavaScript中发送GET请求。问题是我可以用邮递员的方式发送请求,而且效果很好。当我使用该功能生成AJAX代码并将其插入my local index.html时,请求似乎被阻止了 var settings = { "async": true, "crossDomain": true, "url": "http://www.bibsonomy.org/api/posts?resourcetype=bookmark&group=ukp

因此,我试图通过AJAX在JavaScript中发送GET请求。问题是我可以用邮递员的方式发送请求,而且效果很好。当我使用该功能生成AJAX代码并将其插入my local index.html时,请求似乎被阻止了

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://www.bibsonomy.org/api/posts?resourcetype=bookmark&group=ukp&format=json",
    "method": "GET",
    "headers": {
        "Authorization": "Basic key",
        "Cache-Control": "no-cache"
    }
}

$.ajax(settings).done(function (response) {
    console.log(response);
});
控制台输出:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource
 at https://www.bibsonomy.org/api/posts?resourcetype=bookmark&group=ukp&format=json. 
(Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

我不知道为什么它不工作,为什么邮递员没有收到这个错误。

请在请求的标题中添加
访问控制允许来源:

您应该尝试将它添加到您的设置中

xhrFields: {
   withCredentials: true
},
crossDomain: true

这必须从服务器端处理。仅当服务器添加允许来自
localhost:port
(如果您正在开发)的请求的头时, 或者你可以加上

设置
访问控制允许来源:“*”
以接受来自所有客户端的请求, 浏览器将能够成功完成请求

跨源验证是浏览器提供的针对跨域攻击的安全性。浏览器向服务器发送飞行前(选项)请求,以确保请求有效,并且在成功返回时,只发送有效请求。 因此,解决这个问题的可靠方法是在api提供程序(服务器)中进行修复,以接受来自域/本地主机的请求


但是,您可以仅针对浏览器进行变通,您可以检查此方法。

我添加了
访问控制允许源代码“*”
没有感谢您,但很遗憾,我无法影响提供商/服务器。