有没有办法用$ .get以外的事件调用php?

时间:2011-10-05 00:41:16

标签: php internet-explorer events

编辑:找到我的问题的解决方案如下。在此处查看 - > IE must close for event with jQuery to work

我一直在问周围,试图弄清楚这个。如果有任何其他方法可以通过事件在PHP中执行mySql查询..除了$ .get。

我之前发布了另一个问题,以防万一有人可以提供帮助 - > $.get not working in IE

现在我正试图找到解决我之前发布的问题的方法,如果$ .get不会在IE中发生,那么就必须采用另一种方式。也许不是用jQuery

1 个答案:

答案 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);
}