2011-10-05 65 views
0

編輯:找到我的問題的解決方案下面。在這裏看到 - >IE must close for event with jQuery to work

我一直在四處詢問,試圖找出這一個。如果有任何其他方法可以通過事件來執行PHP中的mySql查詢,而不是$ .get。

我以前發佈的這一另一個問題,以防萬一有人可以幫幫忙 - > $.get not working in IE

現在我試圖找到解決我以前發佈的原因這個問題的路要走,如果$不用彷徨不在IE中會發生這樣的事情,那麼就必須有另一種方式。也許不是用jQuery

+0

您的其他問題一 競爭條件變得更可能是同樣不明確。 '.get'應該可以在所有瀏覽器中正常工作,但是我們需要更多的細節來診斷您的特定問題。唯一的替代品將會是另一個庫,或者自己執行'XmlHTTPRequest',這是一個皇室的痛苦。 – mellamokb

+0

你是如何使用php相關的事實? – miki

+0

關於我的另一個問題@mellamokb,在IE中,我顯示的腳本總是返回1的顯示,而不管我在其他頁面上回顯的內容是什麼,我甚至嘗試刪除整個內容 - 顯示總是1.我'd通過另一個函數getbillno(tbl)來調用函數getbillno(tbl)。 – esandrkwn

回答

3

也許你可以試試速記語法(如$不用彷徨是阿賈克斯$速記別名)

function getbillinfo(tbl) { 
    $.ajax({ 
     type: "POST", 
     url: "getbillno.php", 
     data: "tbl=" + tbl, 
     success: function(bill){ 
      $("#billno").val(bill); }); 
     } 
    }); 
} 

http://api.jquery.com/jQuery.ajax/

編輯:關於你的問題與IE,可能有幾個原因

可能性一

即使您的 指出它不要在您的HTTP標頭中,IE也會將Ajax調用的結果緩存到相同的資源。因此,如果您一次又一次向 getbillinof.php?tbl = table發送請求,則IE將提出請求 一次,然後停止將來發送,並簡單地返回第一個請求的結果 。爲了規避這個問題,你可以調用getbillinof.php?tbl =表& random_string_here

在ajax()選項中設置cache:false也可能有用,並且查看isModified選項。

可能性兩個

一個Race Condition導致了IE渲染操作來運行返回任何數據之前 。然而,這是不太可能的,因爲成功() 函數只能在數據被接收後運行。如果你正在做類似

function getbillinfo(tbl) { 
    $.ajax({ 
     type: "POST", 
     url: "getbillno.php", 
     data: "tbl=" + tbl, 
     success: function(bill){ 
      var mydata = bill; 
     } 
    }); 

    $("#billno").val(mydata); 
} 
+0

謝謝你本,IE仍然不合作。但我不會停止嘗試其他方法,但首先我必須找出真正的問題。 – esandrkwn

+0

發現我不得不關閉IE的瀏覽器,讓jQuery改變頁面的顯示/內容。所以這就是爲什麼.. – esandrkwn

+0

添加到我的答案,試圖回答你關於IE的問題 –

相關問題