在网站中,我想使用javascript函数从文件加载对象。我最初尝试使用JSON,但我的javascript对象很复杂,并且具有一些参数的功能。有没有办法从文件中加载对象?
{
"value1": "some value",
"functionValue": function() {
return "function value";
}
}
function getFileObject(fileURL) {
var myObject;
$.ajax({
url: fileURL,
type: "GET",
datatype: 'json',
async: false,
success: function (result) {
myObject = result;
}
});
return myObject;
}
答案 0 :(得分:1)
如果您真的必须传递函数实现,只需不要使用JSON并评估您的文本。
function fetchFileObject(callback) {
$.ajax({
url: value,
type: "GET",
datatype: 'text',
success: function (result) {
var myObject = eval('('+result+')');
callback(myObject); // do something with myObject
}
});
}
但是......这不是我自己认为的。
请注意,你真的不应该使用async: false
。它已被弃用,并且没有任何充分的理由使用它。这就是我重构你的代码以接受回调的原因。
答案 1 :(得分:0)
您是否尝试使用
导入myobject.js< script src =“myobject.js”type =“text / javascript”/>
标记在网页的标题中,并将myobject.js文件中的对象分配给可以在其他.js文件中使用的变量?
这适用于单个文件(我自己没有测试过),但如果您想在客户端动态导入文件,@dystroy的解决方案可能更合适。