如何使用Javascript从submit.php获取结果?

如何使用Javascript从submit.php获取结果?,javascript,submit,Javascript,Submit,您好,我有这些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-com

您好,我有这些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>



这是我的JS:

     $(document).ready(function () {
// $(".add-comment-submit") selects all elements with the class "add-comment-submit", so the "submit" buttons
// .on will handle event binding for the click event on any of those buttons
$(".add-comment-submit").on("click", function (e) {
    e.preventDefault();
    // 'this' is the element that fired the event, so the submit button
    var submit = $(this);

    // check if the submit button has the "working" class added. this will tell us that someone already clicked it
    // and we shouldn't continue
    if (submit.hasClass("working")) return false;

    // add "working" class to the submit button to prevent double click
    submit.addClass("working");
    submit.val("Working...");

    /* Sending the form fileds to submit.php: */
    // do the post, and on callback (simulated with setTimeout) set everythign back
    $.post('submit.php',$(this).serialize(),function(msg){

    // simulate post 
    setTimeout(function () {   
        submit.removeClass("working");
        submit.val("Submit");

        //$(msg.html).hide().insertBefore(submit.parent()).slideDown();

        // simulate getting results back from server
        $("<div>Here are some results or something</div>").hide().insertBefore(submit.parent($(".addCommentContainer"))).slideDown();

    }, 1000);
    });
});
});
$(文档).ready(函数(){
//$(“.add comment submit”)选择类为“add comment submit”的所有元素,因此“submit”按钮
//.on将处理这些按钮上的单击事件的事件绑定
$(“.add comment submit”)。在(“单击”,函数(e){
e、 预防默认值();
//“this”是触发事件的元素,因此“提交”按钮
var submit=$(此值);
//检查提交按钮是否添加了“工作”类。这将告诉我们有人已经单击了它
//我们不应该继续
如果(submit.hasClass(“工作”))返回false;
//将“working”类添加到submit按钮以防止双击
提交。添加类别(“工作”);
submit.val(“工作…”);
/*将表单文件发送到submit.php:*/
//执行post,并在回调时(使用setTimeout模拟)将EverythSign设置回原位
$.post('submit.php',$(this).serialize(),函数(msg){
//模拟邮政
setTimeout(函数(){
提交。删除类(“工作”);
提交。val(“提交”);
//$(msg.html).hide().insertBefore(submit.parent()).slideDown();
//模拟从服务器返回结果
$(“这里有一些结果或某事”).hide().insertBefore(submit.parent($(“.addCommentContainer”)).slideDown();
}, 1000);
});
});
});
在按下每个表单上的SUBMIT按钮后,这个JS会在它前面显示消息“这里有一些结果或其他东西”

这是我的submit.php:

<?PHP 
$message = "Hello world";

echo $message;
?>



我的问题是-如何在提交时打印JS打印
$message
,而不是“这里有一些结果或什么”?

你能告诉我我的脚本中有什么需要修改的吗?
提前谢谢

正如文档明确指出的,回调中的第一个参数是来自服务器的响应。

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

    // simulate post 
    setTimeout(function () {   
        submit.removeClass("working");
        submit.val("Submit");

        //$(msg.html).hide().insertBefore(submit.parent()).slideDown();

        // simulate getting results back from server
        $("<div>" + msg +"</div>").hide().insertBefore(submit.parent($(".addCommentContainer"))).slideDown();

    }, 1000);
    });
//模拟邮政 setTimeout(函数(){ 提交。删除类(“工作”); 提交。val(“提交”); //$(msg.html).hide().insertBefore(submit.parent()).slideDown(); //模拟从服务器返回结果 $(“+msg+”).hide().insertBefore(submit.parent($(“.addCommentContainer”)).slideDown(); }, 1000); });
谢谢,伙计,它很管用!您能告诉我如何在submit.php中打印
body
的值而不是Hello world吗?当我尝试
$message=$message=$\u POST[“body”]它没有打印任何内容。我认为这不是发布数据,可能吗?@ViolinaMilanova:问题是$(this).serialize(),“this”是按钮,而不是form@ViolinaMilanova:尝试类似$(this).parent().serialize()@ViolinaMilanova:但我建议您不应该绑定submit按钮的click事件,而是尝试绑定表单的submit事件(在本例中,“这是表格。)好吧,我现在需要睡觉了。@ViolinaMilanova:如果这个答案解决了你的问题。请点击勾号将其标记为接受。谢谢。