我正在使用一个PHP脚本,该脚本在此目录int
中包含一些json文件
例如打电话给我,我必须访问content/languages/
使用js读取cookie中的有效语言的任何提示。
例如,当我访问此链接时:domain.com/?=frensh
langugae cookie将其值更改为英语
有什么想法吗?
`
答案 0 :(得分:1)
此行可能有助于您的想法
首先在您的旁边插入此js函数
function readFile(file, callback) {
var rawFile = new XMLHttpRequest();
rawFile.overrideMimeType("application/json");
rawFile.open("GET", file, true);
rawFile.onreadystatechange = function() {
if (rawFile.readyState === 4 && rawFile.status === 200) {
callback(rawFile.responseText);
}
}
rawFile.send(null);
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
然后就像您说的关于语言cookie一样,您可以使用以下js行:
var dataJSON;
readFile("content/languages/"+getCookie("language")+".json", function(text) {
dataJSON = JSON.parse(text);
});
如果您在语言Cookie中具有英语值,则结果类似于content/languages/english.json
如果您的json对象就是这样,那么接下来便是
{
"test": {
"test1" : "test2",
}
}
您只需写dataJSON.test.test1
来打印test2