использование jQuery 1.8 и выше, должен использовать следующее:
var request = $.ajax({
type: 'POST',
url: 'mmm.php',
data: { abc: "abcdefghijklmnopqrstuvwxyz" } })
.done(function(data) { alert("success"+data.slice(0, 100)); })
.fail(function() { alert("error"); })
.always(function() { alert("complete"); });
проверяют документы как @hitautodestruct указанный.
Я задавался вопросом, почему они не обеспечили в самом jQuery, таким образом, я внес несколько изменений в файле jQuery, вот измененный блок кода:
исходный Блок кода:
post: function( url, data, callback, type ) {
// shift arguments if data argument was omited
if ( jQuery.isFunction( data ) ) {
type = type || callback;
callback = data;
data = {};
}
return jQuery.ajax({
type: "POST",
url: url,
data: data,
success: callback,
dataType: type
});
Измененный Блок кода:
post: function (url, data, callback, failcallback, type) {
if (type === undefined || type === null) {
if (!jQuery.isFunction(failcallback)) {
type=failcallback
}
else if (!jQuery.isFunction(callback)) {
type = callback
}
}
if (jQuery.isFunction(data) && jQuery.isFunction(callback)) {
failcallback = callback;
}
// shift arguments if data argument was omited
if (jQuery.isFunction(data)) {
type = type || callback;
callback = data;
data = {};
}
return jQuery.ajax({
type: "POST",
url: url,
data: data,
success: callback,
error:failcallback,
dataType: type
});
},
Это должно помочь тому, пытающемуся зафиксировать ошибку на $.Post в jQuery.
Обновленный: Или существует другой способ сделать, это:
$.post(url,{},function(res){
//To do write if call is successful
}).error(function(p1,p2,p3){
//To do Write if call is failed
});
Этот стиль также возможен:
$.get("mypage.html")
.done(function(result){
alert("done. read "+result.length+" characters.");
})
.fail(function(jqXHR, textStatus, errorThrown){
alert("fail. status: "+textStatus);
})