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;