【发布时间】:2014-09-06 08:25:23
【问题描述】:
我在处理对网站的 ajax 调用的 JSONP 响应时遇到问题。我的目的是让新闻项目的结果(url)显示在页面上,这样当用户点击每个链接时,他或她将被引导到包含故事的页面。然而,这并没有发生。
虽然我能够将结果显示为无序列表。相反,当我单击链接时,我会被定向到带有未找到文件消息的本地文件夹。
这是我的代码:
$(document).ready(function(){
$.ajax({
url:"http://api.nytimes.com/svc/news/v3/content/all/all/.jsonp",
data: {"api-key":"uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"},
dataType: 'jsonp',
type: 'GET',
success:function(mydata){
$.each(mydata.results, function(i, value){
$("ul").append('<li>'+'<a href="">'+mydata.results[i].url+'</a>'+ '</li>');
$("ul li a").attr("href", "mydata.results[i].url");
});
//alert("Success");
},
error:function(){
alert("Error");
},
});
});
【问题讨论】:
-
你有一个错字:
$("ul li a").attr("href", mydata.results[i].url);删除变量周围的引号。 -
为什么要添加
href创建a标签?您还将在每个循环上用相同的值替换每个href。创建a标签字符串时为什么不把它放进去呢?此外,由于您将mydata...部分放在引号中,因此这是放在该属性中的字符串文字,而不是相关变量。 -
谢谢大家..我尝试执行以下操作,但一直收到找不到文件的消息..我不知道为什么.. $("ul").append('
- '+ ''+mydata.results[i].url+''+ '
'); -
@user3681587 因为您将
mydata.results[i].url作为字符串包含在内。如果您检查输出,它将完全是您尝试从 json 对象使用的 url 而不是。请参阅我上面的评论或下面 Parv 的回答。 -
谢谢大家!它有效。
标签: javascript jquery html ajax json