jQuery:如果API加载成功,请执行功能

时间:2011-10-09 02:53:27

标签: jquery ajax api jquery-load

我正在使用搜索航班API,我想在加载API时设置一些设置。

以下是API的加载方式:

skyscanner.load('snippets', '1');  
function main(){  
    var snippet=new skyscanner.snippets.SearchPanelControl();  
    snippet.setCurrency('GBP');  
    snippet.setDeparture('uk');  
    snippet.draw(document.getElementById('snippet_searchpanel')); 

    }  
skyscanner.setOnLoadCallback(main);

这是我尝试的但似乎不起作用:

skyscanner.load('snippets', '1', function (responseText, textStatus, XMLHttpRequest) {
            if (textStatus == "success") {
                alert(test);
            }
    });

2 个答案:

答案 0 :(得分:2)

alert(test);   

test在哪里?也许它应该是alert("test")
更新:
好的,我刚刚查看了skyscanner的API:http://api.skyscanner.net/api/ajax/documentation.html
这是加载函数:

skyscanner.load(<i>moduleName, moduleVersion, optionalSettings</i>)    

似乎第3个参数不适用于onload事件 你可以测试一下:

skyscanner.setOnLoadCallback(function(){
    alert("test");
});
skyscanner.load('snippets', '1');  

答案 1 :(得分:2)

看起来SkyScanner已经有一个onload回调,并且你已经将它设置为“main()”,难道你不会把你的代码放在它需要的位置(可能在最后)吗?

我不知道天空扫描仪api,所以我不知道他们的“load()”函数是否需要第三个参数。它看起来好像不一样,因为它们显然提供了单独的函数setOnLoadCallback()。