ajax技术,相信开发web的都耳熟能详了!但是ajax能实现同步吗?
能!
ajax:Asynchronous Javascript And XML
异步不刷新技术 (http://www.runoob.com/jquery/ajax-ajax.html)
ajax写法:
$.ajax(
type:"POST/GET",
url:"",
data:{},
dataType:"json",
async:true/false,//异步还是同步
success:function(response){
}
);
在post/get提交方式的简写:
$.post/get("url",{data},function(response){});//默认是异步的!
但是仅限于以上就显得很low了。
首先用success是n年前的事了:
推荐用.done();
$.ajax(type:”post/get”,data:{},).done(function(response){});
注意括号!
这是最常见的使用ajax方法了。下面实现ajax的同步请求:
$.ajax(
type:”“,
data:{},
async:false,
).done(
function(response){
});
ajax同步请求最常见的就实现ajax请求的结果数据返回。
比如在用ajax方法成功得到相应后,我们需要把ajax的返回结果return出去给外部的函数使用这时需要同步。
function ajax()
{
var backData;
$.ajax(
type:”post”,
data:{},
async:false,//更改为同步
).done(
function(response){
backData=response;
});
return backData;
}
var newData=ajax();
此时newData=response;
在此过程中注意修改async,它如果是true(默认),那么就是在异步的情况下,这种情况下实现return是不能实现的,因为异步就说明了程序的执行顺序和效果发生了改变。修改为同步,实现返回值。