使用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) {
....
}
});在success上,调用completeRequest函数。
function completeRequest(result, status, request) {
// request is the jqXHR
console.log('### Request ###\n', request);
...
}服务器可能在result中返回一个空的JSON。我想要能够显示的搜索没有为一些searchString产生任何东西。我怎样才能从request那里得到这个?
发布于 2020-09-28 13:32:47
请求对象不会给您发送请求时传递的数据。在发送实际请求之前,需要手动将数据分配给请求对象。
您可以使用beforeSend方法的JQuery AJAX。
$.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对象。
https://stackoverflow.com/questions/64102222
复制相似问题