【发布时间】:2016-10-22 21:56:52
【问题描述】:
大家好,我从 3 天开始就在努力寻找解决方案。我从 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" ...显然你不知道,这些标头不能在请求中设置,它们必须设置在服务器端
-
嗨@charlietfl 我把它放在我的php文件的第一行: 但不做任何改变......有什么想法吗?
-
@Francisco 这一个标题是不够的。您还需要
Allow-Headers和Allow-Methods。 -
但您无法控制 sharethis.com。请求不会发送到您的服务器。
标签: javascript jquery ajax cors