0
如果我做一个jQuery的AJAX调用:
$.ajax({url: 'example.com', data: {bar: 2}).done(handleResponse);
有没有什么办法可以让我通过Ajax请求(即数据选项。)从响应处理程序中的参数?换句话说,我希望能够做到:
handleResponse = function(response) {
var requestData = response.something.something.data;
// requestData.bar == 2
}
而仅仅是明确的,我知道我可以通过使用“部分”从像下划线库做到这一点,即:
var data = {bar: 2};
$.ajax({url: 'example.com', data: data).done(_(handleResponse).partial(data));
handleResponse = function(data, response) {...
但我只是想知道是否有任何其他(更干净)的方式来使用参数jQuery传递给响应处理程序。
这太棒了,但有几件事情:1)是不是可以从参数中获取该信息(因为将处理程序绑定到另一个'this'通常很方便,这会让我失去'this.data')? 2)'this.data'看起来像'bar = 1&bax = 2 &...';数据是否存在于更友好的(即JS对象字面量)形式中? – machineghost
1)正确的,你不能得到它的参数。 2)这非常有趣...我没想到它会给你$ .param()的d版本。如果你不想自己写一个,可以使用现有的querystring解析插件。 –
Gotcha;好,response.foo.request.data本来不错,但'parse(this.data)'比没有好。谢谢。 – machineghost