我正在尝试理解jquery中的getJSON方法。
阅读文档,声明它有以下参数:
jQuery.getJSON( url [, data ] [, success ] )
data
参数是addiotnal键,值对与请求一起传递,成功是一个带有自己参数的函数(data,textStatus,jqXHR)。
每次我看到used时,似乎原始getJSON方法的参数都会忽略'data'参数,如下所示:
$.getJSON('/jquery/result.json', function(jd) {
$('#stage').html('<p> Name: ' + jd.name + '</p>');
$('#stage').append('<p>Age : ' + jd.age+ '</p>');
$('#stage').append('<p> Sex: ' + jd.sex+ '</p>');
});
});
});
这是结构$.getJSON('URL', function(returned_data) {...});
对吗?
那么该方法如何知道第二个参数不是数据参数,是因为在看到一个函数时它只是假设它是'success'参数?
非常感谢你的帮助。
答案 0 :(得分:1)
第2和第3个参数的括号表示它们是可选的。
jQuery通过查看类型来确定您提供的参数。如果第二个参数是一个对象,那么它是data
。如果它是一个函数,那就是success
回调。
很多jQuery函数都是这样工作的。他们对你提供的论点非常灵活,使用类型来推断哪些被遗漏了。