当前位置: 首页 > 面试题库 >

是否有不使用回叫的$ getJSON版本?

段兴为
2023-03-14
问题内容

我正在为3rdParty javascript库实现回调,我需要返回该值,但是我需要从服务器获取该值。我需要做这样的事情:

3rdPartyObject.getCustomValue = function {
   return $.getJSON('myUrl');
}

getJson使用XMLHttpRequest(我相信)同时具有同步和异步行为,可以使用synce行为吗?


问题答案:

查看jQuery源代码,这就是全部$.getJSON操作:

getJSON: function( url, data, callback ) {
    return jQuery.get(url, data, callback, "json");
},

这就是所有$.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({
    type: 'GET',
    url: 'whatever',
    dataType: 'json',
    success: function() { },
    data: {},
    async: false
});


 类似资料:
  • 我在使用jersey 1.18的GoogleAppEngine上部署了一个java的RESTfulWeb服务应用程序。6.我想使用邮戳java客户端从它发送事务性电子邮件。当我集成它时,我看到以下异常: 从我所能找到的,我认为这个错误是因为有两个不同的(可能不兼容)版本的泽西被使用,1.18。jersey server、jersey guice和jersey bundle为6,jersey bun

  • 问题内容: 我想链接异步的REST服务调用,并在完成时具有单个回调。 番石榴有可能吗? 问题答案: 您可以将s 用于链接: 在终端中以上代码的输出:

  • 如何将“数据”保存到“结果”中? 代码如下:

  • 我对equinox和OSGI版本有很多疑问。如果有人能帮助我理解这一点,那将是非常有帮助的。 1)OSGI版本和Eclipse Equinox版本不同吗?(我想是的)2)如果我运行的项目使用Equinox容器,那么如何找到该项目使用的是哪个版本的Equinox容器? MO:在运行的项目中,我在eclipse的osgi控制台中尝试了'ss'命令,它显示了不同类型的jar org.eclipse.eq

  • 问题内容: 我试图在jQuery中使用getJSON函数导入一些数据并触发回调函数。回调函数未运行。但是,如果我使用get函数尝试相同的操作,则效果很好。奇怪的是,即使我将“ json”作为类型传递,它也可以与get函数一起使用。为什么会这样呢?我在Firefox 3和IE 7中测试了以下文件: 只要我访问的URL在同一个域中,这似乎都会发生。我尝试传递一些数据,但这没有什么不同。 当然,可以像在

  • 问题内容: 我有一个嵌套的字典对象,并且希望能够检索具有任意深度的键的值。我可以通过子类化做到这一点: 但是,我不需要子类化即可获得此行为。是否有一些内置方法具有相同或相似的行为?如果不是,是否有任何提供此行为的标准或外部模块? 我目前正在使用Python 2.7,尽管我也很好奇也听说过3.x解决方案。 问题答案: 一个非常常见的模式是使用空dict作为默认值: 如果您有多个键,则可以使用(请注意