首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

ajax没法获取回调值

2013-03-22 
ajax无法获取回调值各位大神,俺的AJAX上传文件可以上传,但无法获取回调值,请帮忙看看。用FF查看错误,提示为

ajax无法获取回调值
各位大神,俺的AJAX上传文件可以上传,但无法获取回调值,请帮忙看看。

用FF查看错误,提示为:missing ) in parentetical

代码如下:

(function(){
function addEvent( node,type,listener) {
    if (node.addEventListener) {
     
        node.addEventListener( type, listener, false );
        return true;
    } else if(node.attachEvent) {
        
        node['e'+type+listener] = listener;
        node[type+listener] = function(){node['e'+type+listener]( window.event );}
        node.attachEvent( 'on'+type, node[type+listener] );
        return true;
    }
    
    return false;
};
var submit=document.forms["myform"];
addEvent(submit,'submit',startUpload);
var begin;
var request;
var rdm;
var pec=document.getElementById("pecent");
function startUpload()
{
    rdm=Math.floor(Math.random()*100000000);
document.getElementById('remark').setAttribute('value',rdm);
document.getElementById("progress").style['display']='block';
//creatXmlHttpRequest();
begin=setTimeout(doRequest,1000);
};
function creatXmlHttpRequest()
{
    if(window.ActiveXObject)
    {request=new ActiveXObject("Microsoft.XMLHTTP")}
    else{request=new XMLHttpRequest();}
};
var count=0;
function doRequest()
   {
      if(window.ActiveXObject)
    {request=new ActiveXObject("Microsoft.XMLHTTP");}
    else{request=new XMLHttpRequest();}

      if(request!=null){
       request.onreadystatechange=handle;
       request.open("GET","upload.php?key="+rdm+"&sim=" + (++count),true);
       request.send();
       }
   };
function handle(){
if(request.readyState==4&&request.status==200)
{
//接受服务器数据
var pec=document.getElementById("pecent");
var prgs=eval("(" +request.responseText + ")");
var prgs=request.responseText;
var cur=parseInt(prgs.current);
var total=parseInt(prgs.total);
var pecentIs=Math.round(cur/total*100);
pec.innerHTML=pecentIs.toString()+"%";
if(100==pecentIs)
{
document.getElementById("rst").innerHTML="上传成功";
pec.style['width']="200px";
clearTimeout(begin);

}else{
begin=setTimeout(doRequest,1000);
alert(pecentIs);
pec.style['width']=pecentIs*2;
}
}
};
})();

[解决办法]
var prgs = eval("(" + request.responseText + ")");
var prgs = request.responseText;

把红色那句去掉,确保你返回的是json
------解决方案--------------------



if(request.readyState==4){
   if(request.status==200){
       //接受服务器数据
        ////
   }
}

[解决办法]
 function handle() {
            if (request.readyState == 4 && request.status == 200) {
                //接受服务器数据
alert( request.responseText)///////看返回了什么,不符合JSON格式的内容eval肯定会报错了
                var pec = document.getElementById("pecent");
                var prgs = eval("(" + request.responseText + ")");

热点排行