首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从jqXHR中提取请求?

如何从jqXHR中提取请求?
EN

Stack Overflow用户
提问于 2020-09-28 12:29:52
回答 1查看 204关注 0票数 0

使用jQuery,我可以使用这段代码将一个searchString发布到服务器。

代码语言:javascript
复制
    $.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函数。

代码语言:javascript
复制
function completeRequest(result, status, request) {
    // request is the jqXHR
    console.log('### Request ###\n', request);
    ...
}

服务器可能在result中返回一个空的JSON。我想要能够显示的搜索没有为一些searchString产生任何东西。我怎样才能从request那里得到这个?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-28 13:32:47

请求对象不会给您发送请求时传递的数据。在发送实际请求之前,需要手动将数据分配给请求对象。

您可以使用beforeSend方法的JQuery AJAX

代码语言:javascript
复制
$.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对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64102222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档