PHP Ajax函数不发布数据

时间:2014-10-01 11:16:17

标签: php jquery ajax

我正在尝试使用Jquery来调用ajax函数,该函数会更新MySQL数据库。我在同一个文件中有其他几个Ajax请求,它们工作正常。由于某种原因,getinvoices值未传递给PHP文件。我点击按钮调用该功能,下面是我正在使用的代码。

的Javascript

$( "#updatexero" ).button().on( "click", function(event) {
    $.ajax({
        type:'post',
        url: 'invoices.php',
        data: { getinvoices: 1 },
        success: function(){
            $( "#sql-confirm" ).dialog({
                modal: true,
                buttons: {
                    OK: function() {
                        $( this ).dialog( "close" );
                    }
                }
            });
        }
    });
});

PHP - invoices.php

if ( isset($_REQUEST['getinvoices'])) {
    //Code to do stuff
}

如果我echo $_POST['getinvoices'];,它会显示未定义的索引,因为没有传递任何值。我不明白为什么这不起作用,我做错了什么?

编辑:我现在已经解决了这个问题,问题是if中的另一个invoices.php语句未被调用,因此与Ajax查询无关。事实证明,firebug扩展对于调试非常方便。

3 个答案:

答案 0 :(得分:1)

您的代码写得正确。 我“按原样”采用了您的代码并将其放在我自己的服务器上。

invoices.php我简单地说:

<?php 
    print_r( $_POST );
?>

这是我在调试控制台中检查时得到的结果:

enter image description here

我建议您使用此调试控制台检查您的AJAX请求。它包含在Chrome和FireFox中。在chrome中,您需要安装扩展Firebug Lite。 您将在我的图片中看到getinvoices都包含在AJAX帖子中并由invoices.php脚本接收。

如果JavaScript代码中存在语法错误,调试控制台也会提醒您。

但是..您可以更改以下代码:

$( "#updatexero" ).button().on( "click", function(event) {

$("#updatexero").click(function(event){

答案 1 :(得分:0)

Try this:

 $( "#updatexero" ).on( "click", function(event) {
                $.ajax({
                type:'post',
                url: 'invoices.php',
                data: { getinvoices: 1 },
                success: function(){
                      $( "#sql-confirm" ).dialog({
                      modal: true,
                      buttons: {
                        OK: function() {
                          $( this ).dialog( "close" );
                        }
                      }
                    });

                }
            });
        });

答案 2 :(得分:0)

您的代码中存在语法错误。

删除.button(),因为它与此处的语法不符。

尝试以下代码: -

$("#updatexero").on("click", function(event) {
         //// Your code.
    });

有关详细信息,请查看以下链接: -

http://api.jquery.com/on/