我试图通过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:',表示数据为空。这段代码出了什么问题,请帮助我
答案 0 :(得分:0)
您不应该序列化数据,而是传递对象。
请参阅jQuery文档:http://api.jquery.com/jQuery.ajax/
答案 1 :(得分:0)
将操作用作参数,然后使用 $ _ POST ['action']访问它。
也尝试var_dump($_POST['action'])
;
答案 2 :(得分:0)
要添加动作参数,只需将其连接到数据字符串中。
data: dataString + '&action=edit',