0
我寫了一個名爲test.jsp
的頁面來學習如何從服務器獲取數據。 test.jsp的JS代碼:AJAX回調函數中的數據僅在IE8中未定義
我沒有首先添加{async: false}
選項,但它沒有起作用。對於一個簡單的servlet
<script type="text/javascript">
$(document).ready(function(){
$.get(
"./tabServlet?t=" + new Date(),
{ async: false },
function(data) {
alert(data);
}
);
});
</script>
關鍵碼:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
out.print("12345");
out.close();
}
的問題是,在IE8,alert(data)
顯示undefined
。 Chrome瀏覽器使用相同的代碼。誰能告訴我爲什麼這是?
您可能希望使用'new Date()'.valueOf(),因爲它會生成一個不含空格的查詢參數。 IE8可能不喜歡在URL中有空格。 – zackg
我試過了,不行。我認爲回調函數會運行,所以URL沒有錯,對嗎? – cloud
網址可能不錯。您還應該嘗試在$ .get中指定您期待的數據類型。另外,您發送的「async」參數將作爲GET參數發送到服務器,與您是否進行異步請求無關。查看[$ .get()]的JQuery文檔(http://api.jquery.com/jQuery.get/) – zackg