webview中的Ajax不向服务器发送数据

时间:2010-09-01 10:51:19

标签: android ajax webview

如果你继续使用它,webview中的ajax工作正常,但如果你不做任何事情并等待大约10分钟并尝试使用ajax将数据发送到服务器没有任何反应。我检查了服务器端没有从webview中的ajax发送的请求。是webview的错误还是搞砸了什么?

我使用的ajax代码(jQuery $.ajax带有一些我自己的函数):

function extendBaseAjax(paramObj){
if(typeof(paramObj['maxRetryTimes'])=='undefined'){
    paramObj['maxRetryTimes']=0;
}
var maxRetryTimes=paramObj['maxRetryTimes'];
var retryCounter=0;
var error=paramObj['error'];  
var errorHandler=function(XMLHttpRequest, textStatus, errorThrown){
    if(textStatus=='timeout'){
        retryCounter+=1;
        if(retryCounter<maxRetryTimes){
            $.ajax(paramObj);
        }else{
            error(textStatus);//timeout", "error", "notmodified" ,"parsererror"
        }
    }else{
        error(textStatus);
    }
}


var success=paramObj.success;

var successHandler=function(data){
    if(typeof(data)=="string"){
        data=eval('('+data+')');
    }
    success(data);
    }

    paramObj['success']=successHandler;
    paramObj['error']=errorHandler;
    paramObj['date']=new Date().getTime();//no cache
    $.ajax(paramObj);
}

我的大多数ajax都是这样使用的:

        extendJsonpAjax({
        url:url,
        data:data,
        timeout:timeout,
        maxRetryTimes:maxRetryTimes,
        success:function(data){
            var resultNumber=data['resultNumber'];
            totalPageNumber=resultNumber+1
            totalPageNumber=Math.ceil(resultNumber/limit);
            executeCallBack(data,currentPageNumber,totalPageNumber);
            isAjaxCompleted=true;
        },
        error:function(textStatus){
            errorCallBack(textStatus);
            isAjaxCompleted=true;
        }
    });

0 个答案:

没有答案