2011-06-06 41 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); 
     } 
})