【发布时间】:2016-08-24 04:43:49
【问题描述】:
我有一个表单,我想将数据 POST 到我的后端。
提交表单时,我已成功防止自己被重定向。我希望 POST 请求转到 MYBASEURL/form。
下面的代码几乎可以工作,但是 Ajax 调用似乎忽略了我指定的 URL,并向 MYBASEURL 发出 POST 请求。
我正在使用什么:
jquery-1.12.3.min.js
Node.js v4.3.2
Express 4.x
bodyparser
<form name="myform" action="#" method="POST">
Username: <input type="text" id="user" name="username"/><br/>
Password: <input type="text" id="email" name="email"/>
<input type="submit" id="submitForm" value="submit"/>
</form>
<script type="text/javascript">
var user=$('#user').val(), email=$('#email').val();
$('#submitForm').bind('click', function() {
$.ajax({
url: "/form",
type: 'POST',
contentType: 'text/json',
data: JSON.stringify({name:user, email:email}),
complete: function() { /* Do something with the response. */ }
});
return false; // Prevent form submit.
});
</script>
将相对 url 更改为绝对 url 不会改变任何事情。 从操作中删除“#”不会改变任何事情。
如何确保此 POST 发送到 MYBASEURL/form/ 而不仅仅是 MYBASEURL/?
【问题讨论】:
-
尝试使用完整的 url .. 可以为 javascript 声明一个全局 ajax_base_url 并在此处使用它,如 url : ajax_base_url +'/form'
-
将相对 URL 更改为绝对 URL 并不能解决或改变我的问题,谢谢。
标签: jquery ajax node.js forms post