//定义一个公众处理ajax的方法 function handelAjax(url,method,parm,callback) { $.ajax({ url:url, type:method, dataType:'json', data:pram, success:function(data) { callback(data); }, error:function(err) { alert(err); } }) } //实现查询 handelAjax('/user/search','post',{name:'wes'},function(data) { //成功后的操作 console.log('data: ',data); });
ajax的异步:现在和将来:
现在发送一个异步的ajax,然后在将来才能得到返回的结果。从现在到将来的“等待”,最简单的办法(不是唯一的)是使用一个回调函数。
//ajax是某个库提供的函数:
ajax('www.baidu.com",function mycallback(data){consloe.log(data); //这里得到了一些数据 }
♠ 注意:在技术上可以实现发送ajax的同步请求,但是,在任何情况下都不应该使用这种方式,因为它会锁定浏览器UI(按钮,菜单,滚动条等),并阻塞所有用户的交互。所以一定要避免。
其中ajax跳入error函数的原因:
出现任何错误都会跳到error函数里去;
举例说明错误的原因:
1.URL路径有问题
路径里面不能有中文
2.传递的参数有问题
参数必须是ajax支持的编码格式,如:用JSON.parm(),JSON.stringify()等
3.data不能为空
即使不传值也要传一个"{}"
4.dataType
后台传入的dataType和前台写的不一致
5.async请求同步异步的问题
async默认请求方式是true(异步请求),如果想一个ajax请求完成之后再去请求另一个ajax,需要将async设置为false;
例如,你用post请求传值到另一个页面后台,但是页面一加载你的ajax就已经执行过了,传值接收是在后台才完成的,这时候就请求不到数据,所以可以考虑把ajax请求改为同步试试。
关于其中ajax跳入error函数的原因参考了网上的一篇博客