我是jQuery的新手,并希望在成功函数中使用变量name
,其中$(data.name)
。反正有没有这样做?我要做的是,获取.html文件名,然后使用它从JSON文件中检索数据。
var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/')+1);
var name = filename.replace('.html','');
console.log(name);
$.ajax({
url: '../content.json',
dataType: 'json',
type: 'get',
cache: false,
success: function(data){
$(data.name).each(function(index, value) {
$("#title").text(value.title);
$("#image").attr('src', value.image);
$("#link").attr('href', value.link);
$("#link").text(value.linktitle);
});
}
});
这是content.json
{
"getting_started_in_photography_for_beginners" : {
"short_title" : "photography",
"id" : 1,
"title" : "Getting started in Photography",
"photo" : "asdfasdf",
"link" : "fffsdfa"
},
"getting_started_in_filmmaking_for_beginners" : {
"short_title" : "filmmaking",
"id" : 2,
"title" : "Getting started in Filmmaking",
"photo" : "sgasdgw",
"link" : "gssd"
}
}
答案 0 :(得分:0)
不完全确定这是你所追求的,但我认为它会做到这一点:
var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/')+1);
var name = filename.replace('.html','');
console.log(name);
$.ajax({
url: '../content.json',
dataType: 'json',
type: 'get',
cache: false,
success: function(data){
if (data[name]) {
$("#title").text(data[name].title);
$("#image").attr('src', data[name].image);
$("#link").text(data[name].linktitle)
.attr('href', data[name].link);
};
}
});
您的Ajax查询获取content.json
的内容,将其解析为JSON并将结果传递给您的success
函数。这不仅仅是对函数的每个成员执行某些操作,而只是检查您感兴趣的成员是否存在,如果存在,则从中获取值并填充页面。
答案 1 :(得分:0)
我明白了。我能够使用[]
在$(data.name)
最终代码如下所示。
var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/')+1);
var name = filename.replace('.html','');
console.log(name);
$.ajax({
url: '../content.json',
dataType: 'json',
type: 'get',
cache: false,
success: function(data){
$(data[name]).each(function(index, value) {
$("#title").text(value.title);
$("#image").attr('src', value.image);
$("#link").attr('href', value.link);
$("#link").text(value.linktitle);
});
}
});