Deferred jquery 201 Post created going in reject
Deferred jquery 201 Post created going in reject
postData: function (url, data) {
var deferred = Q.defer();
$.ajax({
type: 'POST',
url: url,
data: JSON.stringify(data),
dataType: "json",
beforeSend: function (xhr, settings) {
xhr.setRequestHeader('Authorization', 'Bearer ' + window.access_token);
xhr.setRequestHeader("Content-Type", "application/json; charset=UTF-8");
},
success: function (data, responseText, jqXHR) {
deferred.resolve(data, responseText, jqXHR);
},
error: function (e) {
deferred.reject(e);
}
});
return deferred.promise;
}
我不明白为什么我的请求会进入错误回调
根据您返回的评论 html 您需要设置适当的 dataType
如果请求的数据类型存在解析错误,$.ajax
也会出错。您可以通过记录错误处理程序的参数来确认这一点 error: function (xhr, statusText, errorThrown)
尝试更改
dataType:'json'
到
dataType:'html'
或删除 属性,因为 jQuery 将从内容类型 header
中得知
postData: function (url, data) {
var deferred = Q.defer();
$.ajax({
type: 'POST',
url: url,
data: JSON.stringify(data),
dataType: "json",
beforeSend: function (xhr, settings) {
xhr.setRequestHeader('Authorization', 'Bearer ' + window.access_token);
xhr.setRequestHeader("Content-Type", "application/json; charset=UTF-8");
},
success: function (data, responseText, jqXHR) {
deferred.resolve(data, responseText, jqXHR);
},
error: function (e) {
deferred.reject(e);
}
});
return deferred.promise;
}
我不明白为什么我的请求会进入错误回调
根据您返回的评论 html 您需要设置适当的 dataType
$.ajax
也会出错。您可以通过记录错误处理程序的参数来确认这一点 error: function (xhr, statusText, errorThrown)
尝试更改
dataType:'json'
到
dataType:'html'
或删除 属性,因为 jQuery 将从内容类型 header
中得知