這是我的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
功能應該做一篇文章到的網址,讓我保持我的服務器運行。
但是,從我的服務器端日誌或螢火蟲網絡監控,我沒有看到POST方法的任何跡象。 (第一alert
被觸發,但第二次是沒有。)
他們是我開發了兩個不同的應用程序,所以我做了一些研究之後,這裏是一個解釋:
由於
$.ajax()
使用XMLHttpRequest
,它受XHR的跨域限制。您的SiteA和SiteB位於不同的主機/端口上嗎?如果是這樣,你會看到預期的行爲。
是這樣嗎?如果是這樣,是否有任何解決方法?
有沒有什麼理由說你在用Ajax做這件事?正常表單提交工作嗎?如果是這樣,你就不必擔心跨域限制。 – Douglas 2012-02-07 01:14:20
http://api.jquery.com/submit/ - 我會建議綁定你的函數到表單的提交,而不是按鈕的點擊;這樣,您可以在輸入密碼後按回車鍵。 – whichdan 2012-02-07 01:14:23
小心張貼密碼在明文.. – Lloyd 2012-02-07 01:43:26