如何使用Ajax调用JavaScript文件并在该JavaScript文件中使用逻辑

如何使用Ajax调用JavaScript文件并在该JavaScript文件中使用逻辑,javascript,ajax,Javascript,Ajax,有没有办法在调用中调用JavaScript文件并在该文件中使用逻辑 例如,我当前正在使用以下命令调用JSON文件: Ext.Ajax.request({ url : 'resources/data/userdata.json', headers : { "Content-Type" : "application/json" }, callback : function (options, success, respo

有没有办法在调用中调用JavaScript文件并在该文件中使用逻辑

例如,我当前正在使用以下命令调用JSON文件:

Ext.Ajax.request({
    url : 'resources/data/userdata.json',
        headers : {
            "Content-Type" : "application/json"
        },
        callback : function (options, success, response) {
            obj = JSON.parse(response.responseText);
            for (var i = 0; i < obj.length; i++) {
                console.log(obj[i].name);
            }
        }
    });

您需要评估从Ajax获得的结果,
eval(myajaxresponse)。这可以调用其中的JavaScript代码,也可以注册函数以便以后使用。您可以在堆栈溢出问题中获得更多信息。

您可以始终将函数的字符串表示形式分配给JSON中的键:

methods.json用法(基于您的代码):

return'{method:[“(函数(arg1,arg2){//do stuff})”,“(函数(arg1){//do other stuff})”]};
...
变量args=[arg1,arg2,argsetc];
Ext.Ajax.request({
url:'resources/data/userdata.json',
标题:{
“内容类型”:“应用程序/json”
},
回调:函数(选项、成功、响应){
obj=JSON.parse(response.responseText);
对于(变量i=0;i
还要确保在JSON中包含前面和后面的
{}
,这样它将被解析并按预期工作

(function(){
    return '[{ "name": "todd", "lastname":"vance"}, { "name": "joe", "lastname":"schmoe"}] ';
})();
return '{method: ["(function(arg1, arg2){// do stuff})", "(function(arg1){// do other stuff})"]}';

...

var args = [arg1, arg2, argsetc];
Ext.Ajax.request({
    url: 'resources/data/userdata.json',
    headers: {
            "Content-Type": "application/json"
    },
    callback: function (options, success, response) {
        obj = JSON.parse(response.responseText);
        for (var i = 0; i < obj.method.length; i++) {
            var method = eval(obj.method[i]);
            method.apply(method, args); // Executes the method with arguments
        }
    }
});