我有一个post
表单,我希望以{em> AJAX 的方式完成submit
,但我不想更改页面网址。
例如:
<form action="/countries/change_country" data-ajax="true" method="post">
<select name="country_code">
<option value="FR" selected="selected">France</option>
<option value="DE">Germany</option>
</select>
<input type="submit" value="change country" />
</form>
当我点击change country
按钮时,表单是通过AJAX发送的,但是页面URL更改为/countries/change_country
什么不好,因为我的服务器中不存在此URL使用HTTP动词非常挑剔。
我知道可以为整个应用程序更改此默认行为,但我想仅为此表单停用changePage()
。
答案 0 :(得分:2)
通过 Javascript / jQuery 提交表单。
首先:禁用默认提交行为
$('#form').on('submit', function (e) {
if (e.preventDefault) e.preventDefault();
return false;
});
第二次:使用jQuery序列化表单数据
var serializedFormData = $('#form').serialize();
使用$.ajax();
第三次:发布您的表单
$.ajax({
url: '/countries/change_country',
type: 'POST',
data: serializedFormData
});