我正在尝试发布一些表单数据并返回结果,但我无法使其正常工作:
javascript:
<script type="text/javascript">
$(document).ready(function () {
$("#sendthis").click(function () {
$.ajax({
type: "POST",
data: $('#theform').serialize(),
cache: false,
url: "form.php",
success: function (data) {
alert(data);
}
});
return false;
});
});
</script>
该 HTML:
<form id="theform">
<input type="text" class="sized" name="name" id="name"><br />
<input type="text" class="sized" name="email" id="email">
</form>
<a href="#" id="sendthis">Submit</a>
要发布到的页面 (form.php):
<?php
if (isset($_POST['name'])){
$result = $_POST['name'];
}
echo $result;
?>
现在,我的理解是,当提交表单时,它会发布到 form.php,并且"name"的输入值将在警报框中返回。但是,我似乎无法正确获取表单数据发布(或可能返回)。
是$('#theform').serialize()
有问题吗?也许别的什么?
任何帮助都非常感谢。
试试这个,看看它是否有效
<form id="theform" action="/form.php">
<input type="text" class="sized" name="name" id="name"/><br />
<input type="text" class="sized" name="email" id="email" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
jquery
$("#theform").on('submit', function () {
$.post($(this).attr('action'), $(this).serialize(), function(data) {
alert(data);
});
return false;
});
我会在您的 ajax 请求中添加一个错误回调,以便在发布过程中遇到问题时捕获。 您是否有像Firebug这样的调试器,可以向您显示正在发布哪些数据(以及在哪里发布)?