Jquery 在$.ajax请求之后,是否有任何方法可以获得请求';响应中的参数是多少?
如果我进行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
$.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)
总比什么都没有好。谢谢