我使用以下jquery发布评论到user_submit.php
var submit = document.getElementById("submit_js"); var comment = document.getElementById("comment"); $("#submit").bind('click', function(){ $.post("user_submit.php", { comment: $("#comment").text() }); });
user_submit.php监听如下:
$comment = htmlspecialchars($_POST["comment"]);
我可以在Firebug控制台中看到没有发生POST。 我用于不同function的只有一个GET(这可能是罪魁祸首吗?)
假设:
你要:
$(function() { $("#submit_js").click(function() { $.post("user_submit.php", { comment: $("#comment").val() }); }); });
PHP:
您似乎也在代码中混淆了“submit”和“submit_js”。 我建议不要不必要地混合Javascript和jQuery代码(“getElementById()”业务)。 您应该熟悉jQuery选择器 。 例如:
$("#submit_js")
将使用ID为submit_js
所有元素( 应该只有零个或一个元素)创建一个jQuery对象。
请记住,您是通过AJAX发布的,因此即使您回显字段值,它也不会显示在您的屏幕上,除非您在$ .post回调中监听它。
要检查问题可能是什么,请在没有jQuery的情况下正常提交表单。 如果你的PHP脚本回显字段值,那么PHP脚本正在运行 – 检查你的JavaScript。 如果您在使用print_r()时出现空白或空数组,请确保表单中的字段名称与您在PHP脚本中使用的字段名称相同。
不希望您必须重写代码,但这是我建议的。
JavaScript的:
$('.comments').submit(function() { var $form = $(this); $.post( $form.attr('action'), $form.serialize(), function(data, status) { console.log(data); } ); return false; }
这会将您的表单提交给PHP脚本。 在回调函数中,“data”是PHP脚本返回的数据。 因此,如果您回显字段值,Firebug控制台将显示该值。
如果用户的浏览器禁用了JavaScript,表单仍会正确提交。 当然,您的PHP脚本必须检查表单是否是通过AJAX提交的,以便它可以根据请求方法正确处理。 一种简单的测试方法是检查X-Requested-With标头。 如果是通过AJAX发送的,则值为XMLHttpRequest。
以上就是jQuery教程分享$ .post没有发布任何内容相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/558495.html