使用jQuery,我可以使用此代码将searchString
发布到服务器。
$.ajax({
method: 'POST',
url: _config.api.invokeUrl + '/foo',
headers: {
Authorization: authToken
},
data: JSON.stringify({"Search": searchString}),
contentType: 'application/json',
success: completeRequest,
error: function ajaxError(jqXHR, textStatus, errorThrown) {
....
}
});
成功完成后,会调用completeRequest
函数。
function completeRequest(result, status, request) {
// request is the jqXHR
console.log('### Request ###\n', request);
...
}
服务器可能在result
中返回空的JSON。我希望能够显示某些searchString
的搜索没有任何结果。我怎么能从request
得到这个?
答案 0 :(得分:1)
请求对象无法为您提供发送请求时传递的数据。在发送实际请求之前,您需要手动将数据分配给请求对象。
您可以使用JQuery AJAX 的 beforeSend 方法。
$.ajax({
method: 'POST',
url: _config.api.invokeUrl + '/foo',
headers: {
Authorization: authToken
},
data: JSON.stringify({"Search": searchString}),
beforeSend: function(req, settings) {
req._data = settings.data;
},
contentType: 'application/json',
success: completeRequest,
error: function ajaxError(jqXHR, textStatus, errorThrown) {
....
}
});
function completeRequest(result, status, request) {
// request is the jqXHR
console.log('### Request ###\n', request._data);
...
}
在 beforeSend 方法中,将数据从ajax设置对象分配到req对象。