我有一个PHP脚本,它连接到数据库,执行简单的选择并返回一个数字。脚本工作正常,我可以通过添加
来测试它var registerUser = function(req, res, user){
user.save(function(err, user){
if (err) {
console.error(err);
return res.status(500).send(err);
}
return res.sendStatus(201);
});
};
到我的表格。但整件事情都行不通。整个页面都得到了刷新,我什么都没有回来。我整天都在试图弄清楚这里有什么问题。有没有人有任何想法?
我的html文件:
action="search_ODtime.php" method="POST"
答案 0 :(得分:1)
正在发生的事情是您的表单已提交。您可以:a)完全删除表单并将提交按钮更改为常规按钮,然后将事件绑定到按钮而不是表单,或b)阻止表单提交。
jQuery将事件对象传递给每个事件处理程序。事件对象有一个名为preventDefault()
的方法,它可以防止默认操作,无论是提交表单还是链接到页面或其他任何内容。
您需要通过为其添加变量将事件传递给函数,然后调用它的preventDefault()
方法以防止表单提交并刷新您的页面。
$('#time_search').bind('submit',function(event) {
event.preventDefault();
var origin = $('#origin').val();
var destination = $('#destination').val();
alert (origin);
$.ajax({
type:"POST",
url:"search_ODtime.php",
data: 'origin='+origin+'&destination='+destination,
success: function(data){ $('#search_results').html(data); }
});
});
答案 1 :(得分:0)
有些事要提及:
<强>首先强>
通过AJAX提交表单时,您需要阻止浏览器进行默认提交行为,从而避免刷新页面。
('#time_search').bind('submit',function(e) {
e.preventDefault();
<强>第二强>
尝试以 JSON格式发送数据,例如。 {“origin”:origin,“destination”:destination}