我有简单的表单,我想通过ajax请求从表单发送数据。 我试试这个:
$('form#station').submit(
function() {
console.log('form submit without reloading');
var coords = station.geometry.getCoordinates();
console.log(data);
$.ajax(
{
url: '/admin/station/add-ajax',
method: 'post',
data: {},
success: function(result) {
console.log('succcess');
}
}
);
return false;
}
);
为什么要重新加载页面?
答案 0 :(得分:1)
尝试包含event.preventDefault(); 应该工作。
答案 1 :(得分:1)
如果使用event.preventDefault();你应该通过该函数传递事件对象,因为如果不这样,IE将会出现问题。所以:
$('form#station').submit(function(e){
e.preventDefault(); // e = event
});
我通常会使用return false;你可以把它放在所有其他代码之前,以确保它在ajax运行之前停止提交。在实际停止提交之前,它可能只是等待太长时间获取数据。很难说清楚。