ajax返回object Object解决方法

现象:使用ajax发送请求,因为后台PHP,使用了阿里的短信,后来返回类型object Object,在浏览器上看到是这样的返回格式:{msg:90,ok:ok}[1,#98978]。ajax返回值不好处理。{msg:90,ok:ok}这个是第三方短信返回值,去不掉。[1,#98978]这个才是自己后台要用到的返回值。

 

如果返回类型复杂,并且只是返回一个字段,此时可以用complete接受回调函数,data.responseText将返回结果作为String,在截取字符串即可。

 

解决方法:

[javascript] view plain copy print?在CODE上查看代码片派生到我的代码片
  1. <span style="white-space:pre">    </span>$.ajax({    
  2.                     type : "post",  //提交方式    
  3.                     url : "../ss.php",//路径   
  4.                     async:true,  
  5.                     dataType:"json",   
  6.                     data : {    
  7.                         "xxs":xx,  
  8.                         "xx":xx,  
  9.                         "xx":xx  
  10.                     },//数据,这里使用的是Json格式进行传输    
  11.                     complete: function(data) {//返回数据根据结果进行相应的处理,无论请求成功还是失败,都会走这个方法的   
  12.                         var str=data.responseText;//将返回结果转成字符串,此时,以后台的标记“#”(自己定义,主要是截取字符串所用)为主  
  13.                         if(str.indexOf("#")>0){  
  14.                             var do=str.substr(str.indexOf("#")+1,18);  
  15.                             window.location="xx.php?xx="+dd;  
  16.                         }else{  
  17.                             alert("保存失败,请稍后重试");  
  18.                         }  
  19.                     }    
  20.                 }); //ajax_end  
<span style="white-space:pre">	</span>$.ajax({  
                    type : "post",  //提交方式  
                    url : "../ss.php",//路径 
                    async:true,
                    dataType:"json", 
                    data : {  
                        "xxs":xx,
                        "xx":xx,
                        "xx":xx
                    },//数据,这里使用的是Json格式进行传输  
                    complete: function(data) {//返回数据根据结果进行相应的处理,无论请求成功还是失败,都会走这个方法的 
                    	var str=data.responseText;//将返回结果转成字符串,此时,以后台的标记“#”(自己定义,主要是截取字符串所用)为主
                    	if(str.indexOf("#")>0){
                    		var do=str.substr(str.indexOf("#")+1,18);
                    		window.location="xx.php?xx="+dd;
                    	}else{
                    		alert("保存失败,请稍后重试");
                    	}
                    }  
                }); //ajax_end

 

 

    

posted @ 2017-04-19 09:07  sky20080101  阅读(916)  评论(0)    收藏  举报