我有一个文件[不是.js文件],其中包含以下列格式映射错误代码的错误列表。
404 = The requested resource could not be found
500 = Internal server error
1001 = No message body found
1002 = No message header found
依旧...... [约3000行。]
我希望编写一个函数,将错误代码作为参数传递,并期望将相应的字符串作为errorString接收。
我正在使用Javascript作为我的网络应用。但遗憾的是,该文件包含此格式的错误列表。 C任何人都建议我应该做些什么来完成工作。
我也准备将此文件转换为java脚本文件,如果任何正文可以建议我如何实现大约3000行代码。
谢谢。
答案 0 :(得分:4)
我也准备将此文件转换为java脚本文件,如果任何正文可以建议我如何 实现约3000行代码。
使用任何有价值的编辑器,您只需将",
附加到每一行,然后将=
替换为:"
。这会给你:
404: "The requested resource could not be found",
500: "Internal server error",
1001: "No message body found",
1002: "No message header found",
然后用};
替换文件中的最后一个逗号,并在开头添加var myObject = {
,然后就完成了。
答案 1 :(得分:0)
如果您无法更改文件类型或内容,您可以尝试解析它并将其放入页面加载事件的dict中,这样您就可以创建一次dict并可用于所有功能< / p>
var url='URL-TO-YOUR-FILE'
messages = {} //global scope, messages will be available for all your functions
parse_messages().done(function(r) {
messages = r
})
.fail(function(x) {
//messages doesn't load well, show the error
console.log(x)
});
function parse_messages(){
return $.get(url, function(html){
lines = html.split(/\n/)
lines.forEach(function(line){
var splitted_line = line.split("=")
if (splitted_line && splitted_line.length == 2){
var code = splitted_line[0].trim()
//check if code is valid
if(!isNaN(code)){
messages[code] = splitted_line[1].trim()
}
}
})
})
}
这是输出
>>>> messages
>>>> Object {404: "The requested resource could not be found", 500: "Internal server error", 1001: "No message body found", 1002: "No message header foundvar codes;"}
答案 2 :(得分:-2)
做Niels或meagar所说的,然后使用(jquery)
获取你的文件var codes;
$.get(FILEURL, function(res){ codes = res; });
function getMessageFromCode(code){
return codes[code];
}
或者,只需使用codes[500]
,就不需要函数了。
修改强>
如果您需要同步,这是明智的,那么只需在<head>
中包含该文件(在Niels建议的编辑之后)。您将能够使用myObject[500]
。