2011-06-06 60 views
0

我从本地主机与JQuery的阿贾克斯与铬

var ajaxsrc = $.ajax({type:"GET", url: "http://localhost:4540/get.aspx?i=<%=Request.QueryString["i"] %>" ,data:"",dataType: "html"}).responseText; 
alert(ajaxsrc); 

IE会提醒正确的文本,但Chrome就会通知空字符串一个jQuery Ajax响应。当我检查开发者控制台时,我发现它连接到get.aspx并检索数据,但无法处理我的代码。

任何建议?

回答

1

jQuery.ajax page

注意,这种用法 - 回电话到一个变量的结果 - 需要一个同步(阻塞)的要求! (异步:假)

你需要有async: false在设置对象,如果你打算做这种分配与.responseText

你可能会更好过传递success处理程序,但...

+0

@ kingjiv的回答是我提到的“更好”的方式。 'async:false'可以工作,但需要它通常是过度线性思维的症状。 – 2011-06-06 02:36:00

1

如果你必须阻止,然后使用async:false约翰公布。理想情况下,你想保持你的AJAX异步。就像这样:

$.ajax({type:"GET", 
     url: "http://localhost:4540/get.aspx?i=<%=Request.QueryString["i"] %>",     
     data:"", 
     dataType: "html" 
     success: function(data){ 
      alert(data); 
     } 
})