javascript - Ajax Jquery CORS 不工作

标签 javascript jquery ajax cors

大家好,我在三天内一直在为此奋斗并寻找解决方案。我从 sharethis.com RESTapi 获取数据时遇到问题。我正在使用 jQuery 和 Laravel 5.2。我想从这个 json 中获取值:http://rest.sharethis.com/v1/count/urlinfo?url=http://www.sharethis.com但我对尝试很多方法和功能感到非常沮丧。我的实际代码是这样的:

function setHeader(xhr) {
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Access-Control-Allow-Headers', 'Content-Type');
xhr.setRequestHeader("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS");
}
$.ajax({
url: 'http://rest.sharethis.com/v1/count/urlinfo?url=http://www.sharethis.com',
type: 'GET',
beforeSend: setHeader,
contentType: 'application/json; charset=utf-8',
success: function() { alert("Success"); },
error: function() { alert('Failed!'); }
});

此请求始终返回“失败!”。我了解一点 CORS 的含义,但在实践中我无法使其发挥作用。有任何想法吗?谢谢..

最佳答案

也许你实际上不了解 CORS :)

这些 header 必须出现在响应中,而不是出现在请求中。

服务器必须提供它们。

服务器必须同意。

您提供的 URL 没有 CORS header ,因此您无法通过 AJAX 获取它,除非您修改后端。

关于javascript - Ajax Jquery CORS 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40197460/

相关文章:

mysql - laravel 模态显示来自数据库的数据

javascript - 在 mouseover() 和 mouseout() 上使用 off() 方法

javascript - 如何将字符串拆分为 n 个字符的段?

javascript - 以字符串形式获取属性名称而不是属性值?

javascript - 用JS执行php url

jquery - 如何强制没有内容的 TD 渲染其边框?

java - ICE Faces 文件输入文件路径和文件名属性

javascript - 如何将ajax变量值传递给codeigniter中的 Controller

javascript - 为什么某些 JavaScript 语句开头的 "word:"不会抛出语法错误?

javascript - 如何将 javascript 变量插入 URL