ajax提交后,数据返回在PHP表单中为null

时间:2013-03-25 18:25:51

标签: php jquery ajax

我试图通过ajax提交php表单,我的jquery代码是

$("#editContraForm").submit(function editContra (e) {

        e.preventDefault();

        dataString = $("#editContraForm").serialize();

        $.ajax({
        type: "POST",
        url: "./validations/contraAjax.php",
        data: dataString,
        action : "edit",
        dataType: "text",
        success: function(data) {
            console.debug("success : "+data);
        },
        error : function(error){
            console.debug("erro");
        }
        }); 

    });

和php代码是(contraAjax.php)

if(!isset($_SESSION))
session_start();
include_once '../connect/connectOpen.php';
$action=isset($_REQUEST['action'])?$_REQUEST['action']:'';

if($action=="edit"){
echo 'good';
}

并且调用是successfule(如firbug所示)但是控制台打印'success:',表示数据为空。这段代码出了什么问题,请帮助我

3 个答案:

答案 0 :(得分:0)

您不应该序列化数据,而是传递对象。

请参阅jQuery文档:http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:0)

将操作用作参数,然后使用 $ _ POST ['action']访问它。

也尝试var_dump($_POST['action']);

答案 2 :(得分:0)

要添加动作参数,只需将其连接到数据字符串中。

data: dataString + '&action=edit',