Jquery 在$.ajax请求之后,是否有任何方法可以获得请求';响应中的参数是多少?

Jquery 在$.ajax请求之后,是否有任何方法可以获得请求';响应中的参数是多少?,jquery,ajax,response,Jquery,Ajax,Response,如果我进行jQuery AJAX调用: $.ajax({url: 'example.com', data: {bar: 2}).done(handleResponse); 是否有任何方法可以从响应处理程序内部获取传递给AJAX请求的参数(即数据选项)?换句话说,我希望能够做到: handleResponse = function(response) { var requestData = response.something.something.data; // requ

如果我进行jQuery AJAX调用:

 $.ajax({url: 'example.com', data: {bar: 2}).done(handleResponse);
是否有任何方法可以从响应处理程序内部获取传递给AJAX请求的参数(即数据选项)?换句话说,我希望能够做到:

handleResponse = function(response) {
     var requestData = response.something.something.data;
     // requestData.bar == 2
}
为了清楚起见,我知道我可以使用下划线之类的库中的“partial”来实现这一点,即:

 var data = {bar: 2};
 $.ajax({url: 'example.com', data: data).done(_(handleResponse).partial(data));

handleResponse = function(data, response) {...

但是我只是想知道是否有其他(更干净的)方法可以使用jQuery传递给响应处理程序的参数来完成这项工作。

我不太理解您的代码的其余部分,但是考虑到第一部分:

$.ajax({url: 'example.com', data: {bar: 2}).done(handleResponse);
您可以访问处理程序中的数据:

handleResponse = function(response) {
     var requestData = this.data;
     // requestData.bar == 2
}

包含传递给
$的选项。ajax
,除非您还传递了
上下文
选项。

我不太理解您代码的其余部分,但考虑到第一部分:

$.ajax({url: 'example.com', data: {bar: 2}).done(handleResponse);
您可以访问处理程序中的数据:

handleResponse = function(response) {
     var requestData = this.data;
     // requestData.bar == 2
}

包含传递给
$.ajax
的选项,除非您还传递了
上下文
选项。

这很好,但有几件事:1)不可能从参数中获取该信息(因为将处理程序绑定到另一个
通常很方便,这会使我丢失
此.data
)?2)
this.data
看起来像
bar=1&bax=2&……
;数据是否以更友好的形式存在(即JS object literal)?1)正确,您无法将其添加到参数中。2) 那很有趣。。。我没想到它会给你它的$.param()版本。如果你不想自己写一个querystring解析插件的话,可以使用现有的querystring解析插件;嗯,response.foo.request.data本来是不错的,但是
parse(this.data)
总比什么都没有好。谢谢。那太好了,但是有几件事:1)不可能从参数中获取这些信息(因为将处理程序绑定到另一个
this
,这会使我丢失
this.data
)吗?2)
this.data
看起来像
bar=1&bax=2&……
;数据是否以更友好的形式存在(即JS object literal)?1)正确,您无法将其添加到参数中。2) 那很有趣。。。我没想到它会给你它的$.param()版本。如果你不想自己写一个querystring解析插件的话,可以使用现有的querystring解析插件;嗯,response.foo.request.data本来是不错的,但是
parse(this.data)
总比什么都没有好。谢谢