我对Javascript,Jquery及其两者之间的一切都很陌生。我一直在尝试了解getJSON
函数-文档说:
jQuery.getJSON( url [, data ] [, success ] )
url
:包含请求发送到的URL的字符串。 data
:随请求发送到服务器的普通对象或字符串。 success
:如果请求成功,则执行一个回调函数。 一个典型的例子:
$.getJSON( "ajax/test.json", function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
此getJSON
调用中的第二个参数在哪里?
似乎function(data)
定义了一个函数,该函数在请求成功后被调用,这意味着它应该是第三个参数。
但是它作为第二个参数传递,紧随"ajax/test.json"
参数之后。
getJSON
是否假设只有2个参数,第二个是SUCCESS参数?
答案 0 :(得分:7)
文档中的[]
表示参数为可选。
您的示例中省略了data
参数。因此,第二个参数是success
函数。
getJSON
函数测试第二个参数的类型,确定它是一个函数,并将其用作success
函数。
答案 1 :(得分:1)
SELECT SUM(CASE WHEN a.DocType = "GM360.User" THEN 1 ELSE 0 END) AS totalItemsCount,
ARRAY_AGG(CASE WHEN a.DocType = "Moderator.User" THEN a ELSE MISSING END) AS items
FROM table AS a
WHERE a.environment = "test" AND a.DocType IN ["Moderator.User", "GM360.User"];
的内部外观如下:
getJSON
这是JQuery包装getJSON: function( url, data, callback ) {
return jQuery.get( url, data, callback, "json" );
},
和GET
请求的方式:
POST
上述示例来自github上的jquery sources。