ashx向js中传送json数据的问题!

H_Gragon 2013-10-02 11:04:44
      <script >
var CustomersData =null;
$.ajax({
type: 'GET',
url: 'ashx/Handler.ashx',
dataType: 'json',
data: 'type=1',
success: function (msg) {
CustomersData = msg;//这里alert(CustomersData );可以取到值
}, //成功时的处理
error: function (data) { alert(data); } //失败时的处理
});
alert(CustomersData );//这里就是null,我想在这里取到值,求大神指点啊,我不太了解JQuery

</script>
...全文
186 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tantaiyizu 2013-10-08
  • 打赏
  • 举报
回复
都是浮云。。。。
zhjdg 2013-10-03
  • 打赏
  • 举报
回复

var CustomersData =null;
           $.ajax({
               type: 'GET',   
               url: 'ashx/Handler.ashx',  
               dataType: 'json',  
               data: 'type=1', 
               success: function (msg) {
                   CustomersData = msg;//这里alert(CustomersData );可以取到值
               },  //成功时的处理           
               error: function (data) { alert(data); }  //失败时的处理
           });
function show(){
	if(CustomersData !== null){
		clearInterval(timer);
		alert(CustomersData);
	}
}
var timer = setInterval(show,500);
hch126163 2013-10-03
  • 打赏
  • 举报
回复
同步请求 或者 回调函数中处理
H_Gragon 2013-10-03
  • 打赏
  • 举报
回复
谢谢各位的回答!
emailtome 2013-10-03
  • 打赏
  • 举报
回复
1。Jquery 什么版本 2。用必杀 $.ajax({ ..., statusCode: { 200: function () { },... }, error: function (XMLHttpRequest, textStatus, errorThrown) { AjaxError(XMLHttpRequest, textStatus, errorThrown); } });
rjzou2006 2013-10-03
  • 打赏
  • 举报
回复
async: false, /////////改为同步就没问题了 --------------------- 给你的建议是,改成同步的吧。
H_Gragon 2013-10-02
  • 打赏
  • 举报
回复
引用 1 楼 l676331991 的回复:
所谓异步ajax,就是不阻塞js主线程发起的XMLHttpRequest请求。 代码$.ajax({...})并不是马上发起异步请求,要等待当前运行的js空闲下来才会发起的。 所以,按时间线来看,alert(CustomersData)的运行要早于success中的CustomersData = msg这一句,因此CustomersData自然是null,无疑。
那怎么才能让它有值呢,求解释啊!
l676331991 2013-10-02
  • 打赏
  • 举报
回复
所谓异步ajax,就是不阻塞js主线程发起的XMLHttpRequest请求。 代码$.ajax({...})并不是马上发起异步请求,要等待当前运行的js空闲下来才会发起的。 所以,按时间线来看,alert(CustomersData)的运行要早于success中的CustomersData = msg这一句,因此CustomersData自然是null,无疑。
  • 打赏
  • 举报
回复
jq无非就是在xmlhttp上封装了一层简要的方案 这个是外观模式....
  • 打赏
  • 举报
回复
success是callback 当然有值了, 你如果希望是直接取到值,自然得同步方式了 楼上几位说得也没错啊......
Go 旅城通票 2013-10-02
  • 打赏
  • 举报
回复
var CustomersData =null; $.ajax({ type: 'GET', async: false, /////////改为同步就没问题了 url: 'ashx/Handler.ashx', dataType: 'json', data: 'type=1', success: function (msg) { CustomersData = msg;//这里alert(CustomersData );可以取到值 }, //成功时的处理 error: function (data) { alert(data); } //失败时的处理 }); alert(CustomersData );//这里就是null,我想在这里取到值,求大神指点啊,我不太了解JQuery

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧