如何使用Ajax调用JavaScript文件并在该JavaScript文件中使用逻辑
有没有办法在调用中调用JavaScript文件并在该文件中使用逻辑 例如,我当前正在使用以下命令调用JSON文件:如何使用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
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
}
}
});