也許你可以試試速記語法(如$不用彷徨是阿賈克斯$速記別名)
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);
}
您的其他問題一 競爭條件變得更可能是同樣不明確。 '.get'應該可以在所有瀏覽器中正常工作,但是我們需要更多的細節來診斷您的特定問題。唯一的替代品將會是另一個庫,或者自己執行'XmlHTTPRequest',這是一個皇室的痛苦。 – mellamokb
你是如何使用php相關的事實? – miki
關於我的另一個問題@mellamokb,在IE中,我顯示的腳本總是返回1的顯示,而不管我在其他頁面上回顯的內容是什麼,我甚至嘗試刪除整個內容 - 顯示總是1.我'd通過另一個函數getbillno(tbl)來調用函數getbillno(tbl)。 – esandrkwn