我正在尝试使用以下代码,以便在选择图像时将项目内容加载到页面中。我从behance api加载图像,但是当选择a时我正在努力处理第二位它应该从页面获取URL并将其添加到JSON以将每个项目内容加载到页面中。任何人都可以看到我在哪里ogin
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var jqxhr;
jqxhr = $.getJSON("http://www.behance.net/v2/users/USER/projects?api_key=KEY&callback=?", function(data) {
var project_str = "";
for(var i=0; i< data.projects.length; i++){
obj = {};
obj = data.projects[i];
project_str += '<a class="link" href="#' + obj.id + '"><img src="' + obj.covers['404'] + '" /></a>'; }
$('#behance_container div').append(project_str);
});
});
$('a.link').click(function(){
var hash = location.hash.replace("#","");
var jqxhri;
jqxhri = $.getJSON("http://www.behance.net/v2/projects/' + hash + '?api_key=KEY&callback=?", function(data) {
$('#behance_header h3').html(data.project.name);
var project_data = '<p>' + data.project.description + '</p>';
$('#behance_project').html(project_data); });
});
</script>
</head>
<body>
<div id='behance_container'>
<div></div>
</div>
<div id='behance_header'><h3></h3><p></p></div> <div id='behance_project'></div>
</body>
</html>
答案 0 :(得分:0)
您正在定义getBehanceProject(id)
以获取id
参数并且您正在函数中使用该参数,但是当您调用该函数时,您不会传递id
参数。 / p>
此外,在getBehanceProject(id)
中,您正在定义一个名为id
的局部变量,该变量不应该是。
您应该解决的第一件事是在调用时将所需的ID传递给getBenhanceProject()
。
其次,您需要意识到addBehance()
是异步的。它会在你打电话后完成一段时间。因此,在您当前的代码中,您将在getBehanceProject()
中的AJAX调用完成之前调用addBehance()
,这可能会导致代码出现问题。