我有一个AJAX帖子请求,要求将一些JSON发送到服务,但我无法让它完全正常工作。 数据到达服务并保存,但我的功能就像没有成功一样,并返回我的所有错误消息。
有人可以解释一下为什么会这样吗? 我搜索过,找不到任何可以解释原因的内容。
saveDate: function ($target) {
var values = $target.data("DateRangesWidget").options.values;
var beginDate = values.dr1from.split("/");
var endDate = values.dr1to.split("/");
var compareBeginDate = values.dr2from.split("/");
var compareEndDate = values.dr2to.split("/");
var date = {
"ID": 1,
"BeginDate": (beginDate[2] + '-' + beginDate[1] + '-' + beginDate[0]),
"EndDate": (endDate[2] + '-' + endDate[1] + '-' + endDate[0]),
"Aggregation": values.aggregation,
"Comparative": values.comparisonEnabled,
"ComparationType": values.comparisonPreset,
"ComparativeBeginDate": (compareBeginDate[2] + '-' + compareBeginDate[1] + '-' + compareBeginDate[0]),
"ComparativeEndDate": (compareEndDate[2] + '-' + compareEndDate[1] + '-' + compareEndDate[0])
}
jQuery.support.cors = true;
$.ajax({
url: 'http://localhost:9000/json/1',
cache: false,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(date),
dataType: 'json',
success: function (data) { //não funciona pq??
//console.log('added');
location.reload();
},
error: function (xhr, textStatus, errorThrown) {
console.log(errorThrown);
console.log(xhr);
console.log(textStatus);
//location.reload();
}
});
},
答案 0 :(得分:0)
你总是可以通过注册jqXHR对象的事件来获得结果,比如done / fail / always / then事件,$ .post方法将返回一个jqXHR对象。
详细文档请参阅:
http://api.jquery.com/jQuery.ajax/#jqXHR
因此,如果您正在测试响应详细信息,则可以使用以下代码:
$.post(url, data).always(function(data|jqXHR, textStatus, jqXHR|errorThrown) {
// do something here.
});