我正在为3rdParty javascript库实现回调,我需要返回该值,但是我需要从服务器获取该值。我需要做这样的事情:
3rdPartyObject.getCustomValue = function { return $.getJSON('myUrl'); }
getJson使用XMLHttpRequest(我相信)同时具有同步和异步行为,可以使用synce行为吗?
查看jQuery源代码,这就是全部$.getJSON操作:
$.getJSON
getJSON: function( url, data, callback ) { return jQuery.get(url, data, callback, "json"); },
这就是所有$.get工作:
$.get
get: function( url, data, callback, type ) { // shift arguments if data argument was omitted if ( jQuery.isFunction( data ) ) { callback = data; data = null; } return jQuery.ajax({ type: "GET", url: url, data: data, success: callback, dataType: type }); },
那里没有黑魔法。由于除了基本$.getJSON功能以外,您还需要自定义其他内容,因此可以使用低级$.ajax功能并将async选项传递为false:
$.ajax
$.ajax({ type: 'GET', url: 'whatever', dataType: 'json', success: function() { }, data: {}, async: false });