Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,如何在Javascript POST之后获得$\u POST值?_Javascript_Post_Submit - Fatal编程技术网

在PHP中,如何在Javascript POST之后获得$\u POST值?

在PHP中,如何在Javascript POST之后获得$\u POST值?,javascript,post,submit,Javascript,Post,Submit,您好,我想问一下如何在Javascript发布之后从HTML打印$POST值 这是我的HTML提交表单: <head> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script type="text/javascript" src="./comments.js"></script> </head> <div id="addComment

您好,我想问一下如何在Javascript发布之后从HTML打印$POST值

这是我的HTML提交表单:

<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="./comments.js"></script>
</head>
<div id="addCommentContainer">
<form class="add-comment-form" id="addCommentForm3" method="post" action="">
<input type="hidden" value="3" name="comentonpost" id="comentonpost" />
<textarea class="commentinput" name="body" id="body" cols="20" rows="5"></textarea>
<input type="button" class="add-comment-submit" value="Submit" />
</form>
</div>
<div id="addCommentContainer">
<form class="add-comment-form" id="addCommentForm3" method="post" action="">
<input type="hidden" value="3" name="comentonpost" id="comentonpost" />
<textarea class="commentinput" name="body" id="body" cols="20" rows="5"></textarea>
<input type="button" class="add-comment-submit" value="Submit" />
</form>
</div>

这是我的Javascript:

$(document).ready(function () {

$(".add-comment-submit").on("click", function (e) {



    e.preventDefault();



    var submit = $(this);



    if (submit.hasClass("working")) return false;



    submit.addClass("working");

    submit.val("Working...");



    $.post('submit.php',$(this).serialize(),function(msg){

        submit.removeClass("working");

        submit.val("Submit");

        $("<div></div>").html(msg).fadeIn("slow").insertBefore(submit.parent($(".addCommentContainer"))).slideDown();

    });

});

});
$(文档).ready(函数(){
$(“.add comment submit”)。在(“单击”,函数(e){
e、 预防默认值();
var submit=$(此值);
如果(submit.hasClass(“工作”))返回false;
提交。添加类别(“工作”);
submit.val(“工作…”);
$.post('submit.php',$(this).serialize(),函数(msg){
提交。删除类(“工作”);
提交。val(“提交”);
$(“”).html(msg.fadeIn(“慢”).insertBefore(submit.parent($(“.addCommentContainer”)).slideDown();
});
});
});
这是我的submit.php,它在提交后打印“Hello World”:

<?PHP 
$message = 'Hello World';
echo $message;
?>

我不知道为什么,但它似乎没有在submit.php上发布信息,或者我在某个地方出错了,因为当我在submit.php中尝试此操作时:


它不会打印在文本区域中键入的名称为“body”的内容。如何使其打印正文输入文本区域中写入的内容?


提前谢谢

您正在触发器内部使用
,但触发器位于按钮上,而不是窗体上,因此
引用按钮。这也意味着您正在序列化按钮,而不是表单。请尝试以下POST通话:

$.post('submit.php',$(this).parent().serialize(), ...
编辑:


顺便说一句,通常更好的做法是将触发器添加到表单中,例如,如前所述。

您的ID在一个页面中应该是唯一的。。为什么重复同一表单两次?因为我有许多表单必须提交,并且只在提交表单之前发布结果。在您的
submit.php
中,
打印了什么($\u post)打印?当我放置
$message=print\r($\u POST)时;回声$信息正在打印
Array()1
WTF?只需输入
print\r($\u POST),没有别的。它只返回
true
,而不是数组的内容。
$.post('submit.php',$(this).parent().serialize(), ...