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

标签 javascript ajax

有没有办法调用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/

相关文章:

javascript - 使用 Service Worker 进行缓存 - Chrome 和 Android Webview

javascript - 使用 Visual Studio Code 调试 Electron-Atom 脚本

javascript - 获取正确的 URL 以从 JS 文件进行 ajax 调用

相当于 jquery ajaxStop 的 Javascript

javascript - 附加的克隆表单刷新页面但不应该

javascript - AngularJS 无法使用常规表单

javascript - 如何调整此 jquery 键盘导航以允许其他标签和键盘功能?

javascript - 编写 jQuery 插件的最佳方式 - 如果有这样的方式?

javascript - jQuery Ajax意外的 token <404错误,而不是正常的Ajax错误处理函数

php - 将带有 user_id 的用户 session 设置到 codeigniter 中的购物车库