Javascript 在jquery中使用JSON数据设置动态回退

Javascript 在jquery中使用JSON数据设置动态回退,javascript,jquery,json,ajax,jsonp,Javascript,Jquery,Json,Ajax,Jsonp,我试图从ajax jsonp调用中动态设置一个回退函数,但它似乎不起作用——我实际上不太确定这是否可能——至少我认为我做得不对 我有这个 var GetFacebookData = function (data) { var dates = [{ "date_from": data.date_from, "date_to": data.date_to }] $.each(data.datatypes, function (i, index) {

我试图从ajax jsonp调用中动态设置一个回退函数,但它似乎不起作用——我实际上不太确定这是否可能——至少我认为我做得不对

我有这个

 var GetFacebookData = function (data) {

        var dates = [{ "date_from": data.date_from, "date_to": data.date_to }]

        $.each(data.datatypes, function (i, index) {

            this.fbcallback[data.datatypes[i]["id"]] = function () {
                LoadFacebookData(dates, data.datatypes["id"]);
            }

            $.ajax({
                url: 'http://localhost:59380/' + data.datatypes[i]["urlfile"] + '.php?jsonp=fbcallback' + data.datatypes[i]["id"],
                method: 'GET',
                dataType: 'jsonp',
                jsonp: 'fbcallback',
                data: { "lpage": _bankArea, "hashed_token": CryptoJS.MD5("454545").toString(), "date_from": data.date_from, "date_to": data.date_to },
            });

        });
    }
我用这个调用函数

 GetFacebookData({ date_from: _datefrom, date_to: _dateto, datatypes: [{ id: "moedsparnord", urlfile: "index" }, { id: "studiepakken", urlfile: "fb_studiedata" }] });
我刚开始

Uncaught TypeError: Cannot set property 'moedsparnord' of undefined
整个概念是,我需要多次运行
GetFacebookData
,执行不同的数据



函数
fbcallback['…']
应该是全局函数

尝试在循环中使用此代码

...
var callbackName = 'fbcallback-' + data.datatypes[i]["id"];
window[callbackName] = function () {
            LoadFacebookData(dates, data.datatypes["id"]);
}
...
 $.ajax({
            url: 'http://localhost:59380/' + data.datatypes[i]["urlfile"] + '.php',
            method: 'GET',
            dataType: 'jsonp',
            jsonp: callbackName,
            data: { "lpage": _bankArea, "hashed_token": CryptoJS.MD5("454545").toString(), "date_from": data.date_from, "date_to": data.date_to },
        });

LoadFacebookData
回调方法的内部也应该是全局的(
window.loadcallback
)。

问题在于
LoadFacebookData(日期、数据.数据类型[“id”)函数,你能发布代码吗!
...
var callbackName = 'fbcallback-' + data.datatypes[i]["id"];
window[callbackName] = function () {
            LoadFacebookData(dates, data.datatypes["id"]);
}
...
 $.ajax({
            url: 'http://localhost:59380/' + data.datatypes[i]["urlfile"] + '.php',
            method: 'GET',
            dataType: 'jsonp',
            jsonp: callbackName,
            data: { "lpage": _bankArea, "hashed_token": CryptoJS.MD5("454545").toString(), "date_from": data.date_from, "date_to": data.date_to },
        });