我正在努力从我的php代码中的ajax帖子中读取帖子数据。 我既不是PHP专家也不是Jquery,几周前我就学会了。很抱歉,如果我还没有使用所有的术语。我从ajax序列化数据,因为我的表单中会有更多字段。这里为了清楚起见,我只展示了一个领域。 我正在尝试读取每个变量,例如在这种情况下的注释, 我只是尝试print_r($ _ POST),我得到了错误。 我看不出怎么办,可能是转换或语法错误。 我很感激任何见解
php文件
public function ajaxSave($post_id)
{
print_r($_POST);
}
jquery脚本
$('body').on('click','#saveComment',function(e) {
$("#comment-form").submit(function(e) {
var postData = $(this).serialize();
alert(postData);
$.ajax(
{
url : "ajaxSave.php",
type: "POST",
data : postData,
dataType:"json",
success:function(data)
{
alert('success');
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("error");
}
});
e.preventDefault(); //STOP default action
});
$("#comment-form").submit();
});
表格
<input id="Comment_comment" type="text" name="Comment[comment]" maxlength="140" size="60">
Firebug中的
在帖子标签中,我有
Comment[comment] mycomment
Comment[post_id] 16
来源
Comment%5Bcomment%5D=mycomment&Comment%5Bpost_id%5D=16
在HTML标记中,我有
Array ( [Comment] => Array ( [comment] => for [post_id] => 16 ) )
答案 0 :(得分:0)
您期待JSON回来,但返回$_POST
超全局的打印,这是一个parseError。
删除dataType并将打印输出记录到控制台以查看
$('body').on('click', '#saveComment', function (e) {
e.preventDefault();
$("#comment-form").trigger('submit');
});
$("#comment-form").submit(function(e) {
e.preventDefault();
var postData = $(this).serialize();
alert(postData);
$.ajax({
url: "ajaxSave.php",
type: "POST",
data: postData,
success: function (data) {
console.log(data)
},
error: function (jqXHR, textStatus, errorThrown) {
alert("error");
}
});
});
并且不要在单击事件中绑定提交事件
答案 1 :(得分:0)
将print_r($_POST);
替换为echo json_encode($_POST);