私はPOSTのデータをバックエンドに送信したいと考えています。 フォームの送信時にリダイレクトされるのを防ぐことに成功しました。私は、POSTリクエストがMYBASEURL/form
に行きたいと思っています。jquery ajax POST関数が、指定したURLではなく、自分のベースURLにフォームデータを送信するのはなぜですか?
以下のコードはほとんど動作しますが、Ajax呼び出しは指定されたURLを無視してMYBASEURLにPOSTリクエストを行います。
私は何を使用しています:
jqueryの-1.12.3.min.js
のNode.js v4.3.2
Expressの4.xの
ボディタイプ
<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に変更すると、何も変更されません。 アクションから '#'を削除すると、何も変わりません。
MYBASEURL/
ではなく、このPOSTがMYBASEURL/form/
になるようにするにはどうすればよいですか?
javascript用のajax_base_urlグローバルを宣言し、URL:ajax_base_url + '/ form'のように使用することがあります。 – Poria
相対URLを絶対URLに変更しても問題は解決されず、変更されません。 –