jQuery-ajax成功函数中的变量
我对jQuery非常陌生,我想在success函数中使用变量jQuery-ajax成功函数中的变量,jquery,ajax,Jquery,Ajax,我对jQuery非常陌生,我想在success函数中使用变量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);
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"
}
}
不完全确定这就是你想要的,但我认为它会起作用:
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
函数。与其对函数的每个成员都做些什么,不如检查您感兴趣的成员是否存在,如果存在,则从中获取值并填充您的页面。不完全确定这是您想要的,但我认为它会起到作用:
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
函数。与其对函数的每个成员都做些什么,不如检查您感兴趣的成员是否存在,如果存在,则从中获取值并填充您的页面。我找到了答案。我能够使用[]
在$(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);
});
}
});
我想出来了。我能够使用[]
在$(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);
});
}
});
你能提供更多的细节吗?不清楚您想做什么,这里显示的是$(data.name)
我想用变量name
替换name。这有意义吗?请发布你的content.json文件,或者至少是一个小样本。正在尝试确定JSON是否包含以文件命名的成员。。。这就是您似乎在暗示的。看起来data.name是一个包含对象的json,所以您不能用字符串形式的name变量替换它。似乎您想在html的某些部分添加名称文本,可能是#title元素?你到底想在哪里看到名称值?坦白地说,这有点像一个例子。请更新您的问题并解释脚本的目的。您能提供更多详细信息吗?不清楚您想做什么,这里显示的是$(data.name)
我想用变量name
替换name。这有意义吗?请发布你的content.json文件,或者至少是一个小样本。正在尝试确定JSON是否包含以文件命名的成员。。。这就是您似乎在暗示的。看起来data.name是一个包含对象的json,所以您不能用字符串形式的name变量替换它。似乎您想在html的某些部分添加名称文本,可能是#title元素?你到底想在哪里看到名称值?坦白地说,这有点像一个例子。请更新您的问题并解释您脚本的目的。这需要做更多的工作,比需要的更脆弱,更难阅读,但这会起作用。您所做的基本上是这样的:“为数据[name]中存储的任何内容的每个成员运行此函数”。因为对于你拥有的数据来说,这是唯一的一个对象,所以你很好。这需要做更多的工作,比需要的更脆弱,更难读取,但这是可行的。您所做的基本上是这样的:“为数据[name]中存储的任何内容的每个成员运行此函数”。因为这是您拥有的数据的唯一对象,所以您很好。