Javascript 无法在ajax调用中加载资源

Javascript 无法在ajax调用中加载资源,javascript,jquery,ajax,Javascript,Jquery,Ajax,考虑以下代码: function drawCharts2() { var jsonData2 = $.ajax({ url: "http://**.**.**.**:9001/jolokia/read/*", dataType:"json", async: false }).responseText; var parsed2 = JSON.parse(jsonData2); 上述URL在web应用程序启动时不包含任何值。该ur

考虑以下代码:

  function drawCharts2() {
  var jsonData2 = $.ajax({
      url: "http://**.**.**.**:9001/jolokia/read/*",
      dataType:"json",
      async: false
      }).responseText;

     var parsed2 = JSON.parse(jsonData2);
上述URL在web应用程序启动时不包含任何值。该url中的数据将在2-3分钟后出现

当我启动我的web应用程序时。它给出了错误,但作为一种解决方法,我将页面刷新时间设置为30秒。因此,30秒后,表格成功生成

我需要一种方法,这样,即使url不包含任何数据,代码也不会给出任何错误。它应该跳过整个代码。 我怎样才能做到这一点呢?

试试这个

    var parsed2;
        function drawCharts2() {
                $.ajax({
                    type: "GET",
                    url: "http://**.**.**.**:9001/jolokia/read/*",
                    contentType: "application/json; charset=utf-8",            
                    dataType: "json",
                    success: function (response) {
                     if(response) {
                       parsed2 = response;
                     } 
                    else
                         {   drawCharts2();  // retry if you want to..     }
                    },
                    error: function (event) {

                        alert("Transmission Failed. (An error has occurred)");
                    }
                });
      if( parsed2 != null)
      {
      var arr2 = []; for(var x in parsed2)
      { arr2.push(parsed2[x]);
        } 
        var array_keys = new Array(); 
        var array_values = new Array();
         }
   }

使用Ajax调用的成功回调:实际上在上面的代码之后,代码如下所示:var parsed2=JSON.parsejsonData2;var arr2=[];parsed2{arr2.pushparsed2[x];}var数组_keys=新数组中的forvar x;var数组_值=新数组;所以如果我这样做,如果响应!={var parsed2=JSON.parseresponse;}它将无法进一步读取该变量。修改了上面的代码,并在ajax调用外部声明了parsed2,但5秒后它不会再次命中URL。我把这一块放在最后。chart.drawdata,{宽度:800,高度:200,showRowNumber:true,allowHtml:true};setTimeoutdrawChart,5000;