JavaScript 在 JSON 请求上获取

我有一个基本的 Javascript Web 应用程序,它发送 JSON 请求并读取从请求返回的数据。一周前,这段代码运行良好,没有错误。今天检查的时候,每次都失败。在此期间我没有编辑任何内容。这是我的代码的 JSON 请求部分。


function Get(yourUrl){

  var Httpreq = new XMLHttpRequest(); // a new request

  Httpreq.open("GET",yourUrl,false);

  Httpreq.send(null);

  return Httpreq.responseText;

}


var json_obj = JSON.parse(Get('https://www.purpleair.com/json'));

results = json_obj.results;

控制台上的完整读数为:


    [Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.


    GET https://www.purpleair.com/json 400 (Bad Request)

谁能帮我弄清楚这笔交易是什么?自从我上次运行此命令以来,我发送 JSON 请求的网站似乎没有发生变化,我只是完全困惑了。



一只萌萌小番薯
浏览 82回答 1
1回答

BIG阳

正如您在开发人员工具中看到的那样 - 有些事情发生了明显的变化:关于已弃用的同步请求的警告只是警告 - 但我们可以使用异步请求来修复它...错误的请求...似乎可以通过添加到查询字符串中的任何内容来修复...function Get(yourUrl, yourHandler){    var Httpreq = new XMLHttpRequest();    Httpreq.open("GET",yourUrl,true); // true makes this request async    Httpreq.onload = function(e) {        var json_obj = JSON.parse(Httpreq.response);        var results = json_obj.results;        yourHandler(results);    };    Httpreq.send();    return Httpreq;}var req = Get('https://www.purpleair.com/json?anything', function(results){    // here you can place some code to do something with results    // example below: alert the number of the results    alert(results.length + ' result recieved');});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript