Ajax返回值问题思考

  Ajax请求,请求之后,我们需要得到返回值,或一个,或多个,然后根据返回值进行下一步的逻辑判断,那么返回值问题上,如果我们只是单一的请求后,返回一个值,那么我们可以直接接收,然后判断处理,比如:

  

success: function (data) {
    if(data == 什么什么)
    {
         //  就怎么怎么
   }
   else
   {
        //   就怎么怎么 
   }
}

 

  如果Ajax请求需要得到多个返回值呢,既然要返回多个值,那么就涉及到了前台接收解析多个值的问题,好像目前我们碰见过的,json是最好的处理方式之一了,不管是两个值,三个值,十个值,json总是这么好用,前台这么接收呢,比如:

  string jsons = "{'data1':" + 1+ ",'data2':" + 2+ "}";
   //  这是后台一个简单的json串,注意,是string类型的 .
  
  //   前台我想单独得到data1的值,data2的值,可是这是字符串,我前台得到的也是字符串,如下:

  success: function (data) {
     alert(data);    //  这就是一个字符串
  }

data.data1 和 data.data2 都是不可取的,因为根本不认识,这个时候我们就又有了一个函数: eval()
// eval(string) 只接收原始的字符串数据,并且对字符串进行执行运算,顾名思义,我们的json格式中 data1:1 这个冒号已经被当做运算符了,可以这样理解. 如下:

success: function (data) {
     var jsons = eval("(" + data + ")");
     alert(jsons.data2);
     alert(jsons.data1);
}

这样就可以根据后台json返回的多个值,来前台进行接收了.

 

 

posted @ 2014-06-26 21:27  MiccNet  阅读(309)  评论(0编辑  收藏  举报