ここに私のHTMLがあります。単純なフォーム:jquery ajaxが機能していないようです
<form>
Username:
<input type="text" id="username"/>
<br/>
Password:
<input type="password" id="password"/>
<br/>
<input type="submit" id="submit" value="submit"/>
</form>
ここでは、それに関連付けられている私のJSです:
function init(){
$("#submit").click(function() {
var url = "http:example.com/mail";
alert("what?");
$.ajax(url, {
type : 'post',
data : {
'username' : $("#username").val(),
'password' : $("#password").val()
},
success : function() {
alert("done");
}
});
});
}
私は送信ボタンをクリックした後、$.ajax
機能は、私が続けてURLにポストを行うことになっています私のサーバーは動いています。
しかし、私のサーバー側のログやFirebugネットワークの監視からは、POSTメソッドの兆候は見られませんでした。 (最初のalert
がトリガが、2番目はありませんでした。)
を彼らは私が開発した2つの異なるアプリケーションなので、私はいくつかの研究をした後、ここに一つの説明です:$.ajax()
はXMLHttpRequest
を使用しているため
は、 XHRのクロスドメイン制限が適用されます。あなたのSiteAとSiteBは異なるホスト/ポートにありますか?そうであれば、期待される動作が見られます。
そうですか?もしそうなら、回避策はありますか?
Ajaxでこれを行う理由はありますか?通常のフォームの提出はできますか?その場合は、ドメイン間の制限について心配する必要はありません。 – Douglas
http://api.jquery.com/submit/ - ボタンのクリックではなくフォームの送信に関数をバインドすることをお勧めします。そうすれば、パスワードを入力した後にEnterキーを押すことができます。 – whichdan
平文でパスワードを投稿するように注意してください。 – Lloyd