Ajax

$.ajax({ 
   type: "post",
   async:false,
   url: "xxx.action",
   data:{"name":name,"type":1},
   success: function(data){
       // dosomething
   }
});

     

   ajax  常见2个问题

   1 中文传值为乱码:

       解决方法:不放试试data:{} 方式,不要直接在URL拼装。

   2  ajax 中赋值没有作用,大多数的应用是ajax操作完就没有下文了,但是还是有些应用会和ajax有关,比如:ajax success 后要给一个变量赋值,但是赋值总没有作用,奇怪的是它先执行了ajax之后的代码:

       解决方法:ajax加上加上 async:false  属性,这样就可以保持代码同步了,不会先执行ajax之后的代码了,按顺序执行,赋值就可以获取了。如果ajax与其后的代码没有关联,就不需要async了,这样才是真正的ajax。

   3 ajax 里面的return与外面的函数有关吗?

     在ajax里面有时候会发现执行了return或者return false之后还是会执行ajax之后的代码。ajax的return ,无论是return,还是return "" ,return true,return 123,等最终都只是返回true,false,如果等同于return false,就是停止了ajax的代码,如果ajax后面有代码,还会继续执行ajax之后的代码。所以在ajax 中赋值的时候要在ajax之外添加一个变量,最终返回的是ajax之后的。

   

相关推荐