如何在jquery中设置请求头

时间:2019-10-13 17:59:07

标签: javascript jquery html json get

我正在网页上执行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的初学者,因此请尝试简化答案。)

2 个答案:

答案 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', '*');
                }
})

但是,即使服务器跨源请求,即使这样也只能工作