我正在网页上执行GET请求,但由于“所请求的资源上没有'Access-Control-Allow-Origin标头”而无法正常工作,这意味着我需要此标头。我将如何在我的jquery网站上设置此标头。 我的代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<title>Sample Page</title>
<script>
var settings = {
"async": true,
"crossDomain": true,
"url": "https://games.roblox.com/v1/games?universeIds=140239261",
"method": "GET"
}
$.ajax(settings).done(function (response) {
console.log(response);
var content = response.data.playing;
$("#counter").append(content);
});
</script>
</head>
<body>
<h1>Sample Page</h1>
<div id="counter">playing: </div>
</body>
</html>
预先感谢您的帮助。我找不到用jquery做到这一点的方法(至少我的代码是如何设置的),所以请帮忙! (我是javascript的初学者,因此请尝试简化答案。)
答案 0 :(得分:0)
收到此错误时,实际上意味着您正在尝试将请求发送到页面所在的其他域之外,基于服务器端技术,应在服务器上启用CORS
以接受来自服务器尚未生成的其他脚本。
答案 1 :(得分:0)
您可以这样做
$.ajax({
url: 'https://games.roblox.com/v1/games?universeIds=140239261',
dataType: 'jsonp', // This alone should also work without the beforeSend below
beforeSend: function(xhr){
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
}
})
但是,即使服务器跨源请求,即使这样也只能工作