当res.reply = 2时,我每次调用getResult()函数,但是res是空的.当返回的值为空时,调用console.log(“error”).这在旧版本的jQuery Mobile中有效.现在版本是1.3.2.
function getResult() { request = $.ajax({ type: "POST",url: url,dataType: "json",data: { .... },error: function() { console.log("error"); },success: function(res) { if(res.reply=='2') { getResult(); } } }); }
解决方法
dataType: "json"
意思是:给我json,别的.一个空字符串不是json,所以收到一个空字符串意味着它不是一个成功的…
request = $.ajax({ type: "POST",data: { .... },error: function() { console.log("error"); },success: function(res) { var response = jQuery.parseJSON(res); if(typeof response == 'object'){ if(response.reply == '2') { getResult(); } } else { //response is empty } } });