gpt4 book ai didi

javascript - 如何使用 Ajax 调用 JavaScript 文件并使用该 JavaScript 文件中的逻辑

转载 作者:行者123 更新时间:2023-12-02 18:51:17 25 4
gpt4 key购买 nike

有没有办法调用Ajax中的JavaScript文件调用并使用该文件中的逻辑?

例如,我当前正在使用 Sencha Touch 调用 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);
}
}
});

但是是否可以调用 JavaScript 文件并根据发送的参数在该文件中执行一些逻辑?

我知道我可以使用服务器文件(ASP.NET、PHP 等)来做到这一点...我只是想知道这是否可以使用 JavaScript 文件实现。

我尝试调用 window.onload 函数或使用立即函数,但我仍然将所有文本返回到文件中,而不仅仅是我尝试返回的 JSON...:

(function(){
return '[{ "name": "todd", "lastname":"vance"}, { "name": "joe", "lastname":"schmoe"}] ';
})();

最佳答案

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

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

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
}
}
});

另外,请确保将前面和后面的 {} 包含到 JSON 中,以便它能够按预期进行解析和工作。 ;)

关于javascript - 如何使用 Ajax 调用 JavaScript 文件并使用该 JavaScript 文件中的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15793623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com