[英]jQuery .post() is not triggering the success handler method
情況:
.post()
call( ajax )而不是實際的提交。 200 (OK)
狀態(可以在FireBug的Net-View中看到)。 題:
alert()
的匿名函數。 這是為什么? 筆記:
編碼:
這是我的表格:
<form>
<input type="submit" value="Submit" />
</form>
這是我期望的工作:
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$.post('/echo/html/', {
html: "<span>jsFiddle test return msg</span>",
delay: 1
}, function (data, textStatus, jqXHR) {
$('form').append(data);
alert("done"); // <----- THIS NEVER FIRES
}, 'json');
});
});
這不起作用:
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$.post('/echo/html/', {
html: "<span>jsFiddle test return msg</span>",
delay: 1
}, null, 'json').done(function (data, textStatus, jqXHR) {
$('form').append(data);
alert("done"); // <----- THIS NEVER FIRES
});
});
});
這將觸發警報,但數據將為空。
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$.post('/echo/html/', {
html: "<span>jsFiddle test return msg</span>",
delay: 1,
success: function (data, textStatus, jqXHR) {
$('form').append(data); // <----- DATA IS UNDEFINED
alert("done"); // <----- THIS FIRES!
}
}, null, 'json');
});
});
您將錯誤的數據類型設置為json,服務器返回html類型數據。 順便說一下,你不需要指定它:
dataType類型:String服務器所需的數據類型。 默認值:智能猜測(xml,json,腳本,文本,html)。
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$.post('/echo/html/', {
html: "<span>jsFiddle test return msg</span>",
delay: 1
}, function (data, textStatus, jqXHR) {
$('form').append(data);
alert("done");
});
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.