一个正常的:
function ajxa(){
$.ajax({
type:'get',
url:'test.aspx',
dataType:'html',
success:function(msg){
alert(msg);
},error:function(){
alert("请求提交失败!");
}
})
}
ajax如何返回值到上层函数里,这个涉及到js的异步执行了,程序本身是同步执行的,到了getJSON这里的时候,这个函数是异步的,而 load_val这个函数是同步的,你需要这样来异步返回这个值
function load_val(callback){//定义一个回调函数
$.getJSON('test.aspx' , function(dat){
callback(data);//将返回结果当作参数返回
});
}
load_val(function(data){
alert(data);//这里可以得到值
});
//否则的话你需要这样用同步ajax来实现了
function load_val2(){
var result;
$.ajax({
dataType:'json',
url : 'test.aspx',
async:false,//这里选择异步为false,那么这个程序执行到这里的时候会暂停,等待
//数据加载完成后才继续执行
success : function(data){
result = data;
}
});
return result;
}
var data = load_val();//这里可以直接拿到数据