我如何传递参数到JQuery $ .getJSON回调方法? [英] How can i pass parameters to a JQuery $.getJSON callback method?

查看:310
本文介绍了我如何传递参数到JQuery $ .getJSON回调方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用 JQuery 通过 Ajax / $。getJSON 调用一些自定义API。我试图传递自定义值到Ajax回调方法,但该值不会被传递,实际上被覆盖。这是我的代码: -

I'm trying to use JQuery to call some custom api via Ajax/$.getJSON . I'm trying to pass a custom value into the Ajax callback method, but that value is not getting passed through and is actually getting overwritten. This is my code:-

var locationType = 3;
var url = 'blah blah blah' + '&locationType=' + locationType;
$("#loading_status").show();
$.getJSON(url, null, function(results, locationType) {
    searchResults(results, locationType)
});

现在 locationType 的值使用Ajax的URL是 3 。但是在Ajax返回数据成功后, locationType 的值现在为 success 。这是因为回调的方法签名是:

now the value of locationType BEFORE i call the url using Ajax is 3. But after the Ajax returns the data successfully, the value for locationType is now success. This is because the method signature of the callback is:

callback(data,textStatus)如果
请求成功,则执行回调
函数。

callback(data, textStatus)A callback function that is executed if the request succeeds.

Hmmm。好。那么如何将一个或多个参数传递给回调方法?

Hmmm. Ok. so how can i pass 1 or more parameters to a callback method, please?

推荐答案

,只是引用你已经有的变量,像这样:

You don't need to pass it in, just reference the variable you already have, like this:

var locationType = 3;
var url = 'blah blah blah' + '&locationType=' + locationType;
$("#loading_status").show();
$.getJSON(url, null, function(results) {
    searchResults(results, locationType)
});

也不需要传递 null if你没有数据对象,它是一个可选参数,jQuery检查第二个参数是否是一个函数,所以你可以这样做:

Also there's no need to pass null if you don't have a data object, it's an optional parameter and jQuery checks if the second param is a function or not, so you can just do this:

$.getJSON(url, function(results) {
    searchResults(results, locationType)
});

这篇关于我如何传递参数到JQuery $ .getJSON回调方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆