【发布时间】:2013-07-13 11:52:48
【问题描述】:
所以我创建了一个包含多个表单的 html 站点,使用 jQuery 对话框 UI 进行显示,使用 jQuery 表单插件进行 ajax 提交。
表格如下:
<form id="login_form" action="admin.php" method="post">
Username: <input type="text" name="username" id="username"/><br/>
Password: <input type="password" name="password" id="password"/>
</form>
...表单选项如下所示:
$('#login_form').dialog({
buttons:{
"Login": function(){
var options = {
success: function(data){
alert(data);
$(this).dialog("close");
$('#news_form').dialog("open");
},
timeout: 3000,
fail: function(data){
alert('fail');
},
clearForm: true
};
// bind form using 'ajaxForm'
$('#news_form').ajaxSubmit(options);
},
"Exit": function(){
$(this).dialog("close");
}
}
});
...而且php文件很简单:
<?php
$data = 'Herro!';
echo $data;
?>
问题是,成功时表单会返回作为提交源的 html 页面,而不是“Herro!”就像我预期的那样。那我做错了什么?
admin.html 和 admin.php 文件都在同一个目录中。
web 也是通过 xampp 在本地运行的,但我也尝试将它放在 web 服务器上,但没有任何改进。
最终编辑:问题实际上是因为我在 DOM 中调用了一个不同的表单对象来提交数据,一个没有设置 action 属性的表单。感谢大家的快速解决方案。
【问题讨论】:
-
你试过console.log消息吗?
-
听起来有点像权限错误..您使用的是什么操作系统?
-
@msturdy Win 7 x64 Pro
-
你能告诉我们你在选项中设置了什么吗?
$('#news_form').ajaxSubmit(options); -
@piddl0r 第 4 行以后。