jquery1.9 jsonp如何实现跨域同步
var ajaxResult = false;
$.ajax({
async:false,//非跨域下有效
url:WEB_URL+$(obj).attr('ajax'),
type:'POST',
dataType:'jsonp',
data:{param:$(obj).val()},
jsonp:JSONP_CALLBACK,
success:function(data){
ajaxResult = (data.status != 'error' && data.status != 0) ? true : false;
alert('aaaaaaa'+ajaxResult);
},
error:function(){return 'fail';}
})
//alert(ajaxResult);
return ajaxResult;
以上是代码,我的jsonp是跨域的,现在已经从服务器端取得了结果,但要命是不同步,怎么解决这个问题啊?
我的ajaxResult必须要服务器端返回过来的数据,求懂的人帮帮忙啊,十分急啊
油泼辣子酸汤面
10 years, 5 months ago
Answers
jquery里jsonp没法做同步的. 我觉得这里有两个选择:
1). 把你的处理逻辑写入ajax的success()回调函数中;
2). 外部设置标志位, ajax的sucess()设置标志位. 外部代码setTimeout轮询标志位.
不知道还有没有更好的方法.
方法二示例, 仅供参考. 需要说明的是, js里无法真正实现sleep, 所以基本无法作出同步的效果来:
真的是路过
answered 10 years, 5 months ago