2009-10-10 62 views
0

jquery似乎有困難在IE(6,7,8)加載使用load()函數時有url的參數(例如:getdata.php?id = 2444)Jquery是否壞了?爲什麼JQuery Load fn在IE中不起作用?

我有這個問題,但似乎這個問題是很常見的,從來沒有解決:

看到

JQuery load() in IE8 POST&GET not working?jQuery's .load() not working in IE - but fine in Firefox, Chrome and Safari

爲什麼沒有這個問題是否已確定?有沒有使用JQuery的解決方案?

+0

假設cpharmston是正確的(肯定聽起來不錯),這將是真正有趣的,因爲你提到的,所以不要用查詢字符串加載任何其他問題:) – 2009-10-11 00:30:00

回答

4

jQuery的$.load函數具有一個數據參數,該數據參數接受JSON序列化的值並將它們轉換爲GET變量。試試這個:

$.load('getdata.php', { 'id': 2444 }); 

由於$.load()僅僅是一個$阿賈克斯()的包裝,你可以找到在$.ajax() page更多信息(進入選項標籤,尋找data參數)。它的構建方式很容易讓它們防止緩存(通過時間戳的GET變量完成),並執行一些漂亮的JSON序列化技巧(以便於使用JavaScript數據類型爲目標),例如:

var foos = ['bar1', 'bar2']; 
$.load('getdata.php', { 'foo': foos }); 

對於上面的例子請求:getdata.php?foo=bar1&foo=bar2

+0

哇?漏洞抽象,這些。 – 2009-10-11 00:08:35

+0

我編輯我的答案有點解釋它。這當然是一個漏洞的抽象,但也有一些好處。 – 2009-10-11 00:16:49

+0

非常有趣。假設這是故意的,我是否也可以假設它被記錄在某處?除此之外,我的意思是:http://groups.google.com/group/jquery-en/browse_thread/thread/18f03016212cf049 – 2009-10-11 01:31:32