所以我创建了一个包含多个表单的 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 文件都在同一个目录中。
此外,网络是通过 xampp 在本地运行的,但我试图将它也放在网络服务器上,但没有任何改进。
最终编辑:问题实际上是因为我在 DOM 中调用了一个不同的表单对象来提交数据,这是一个没有设置 action 属性的表单。感谢大家的快速解决方案。