编辑:找到我的问题的解决方案如下。在此处查看 - > IE must close for event with jQuery to work
我一直在问周围,试图弄清楚这个。如果有任何其他方法可以通过事件在PHP中执行mySql查询..除了$ .get。
我之前发布了另一个问题,以防万一有人可以提供帮助 - > $.get not working in IE
现在我正试图找到解决我之前发布的问题的方法,如果$ .get不会在IE中发生,那么就必须采用另一种方式。也许不是用jQuery
答案 0 :(得分:3)
也许您可以尝试使用简写语法(因为$ .get是$ .ajax的简写别名)
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问题,可能有几个原因
可能性一
即使你,IE也会将Ajax调用的结果缓存到同一资源 告诉它不要在您的HTTP标头中。所以如果你提出要求 getbillinof.php?tbl =表一遍又一遍,IE会做的 请求一次,然后在将来停止制作并简单地返回 第一个请求的结果。为了避免这种情况,你可以调用getbillinof.php?tbl = table& 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);
}