Behance API Ajax加载内容

时间:2013-01-16 23:43:40

标签: jquery ajax json api

我正在尝试使用以下代码,以便在选择图像时将项目内容加载到页面中。我从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>

1 个答案:

答案 0 :(得分:0)

您正在定义getBehanceProject(id)以获取id参数并且您正在函数中使用该参数,但是当您调用该函数时,您不会传递id参数。 / p>

此外,在getBehanceProject(id)中,您正在定义一个名为id的局部变量,该变量不应该是。

您应该解决的第一件事是在调用时将所需的ID传递给getBenhanceProject()


其次,您需要意识到addBehance()是异步的。它会在你打电话后完成一段时间。因此,在您当前的代码中,您将在getBehanceProject()中的AJAX调用完成之前调用addBehance(),这可能会导致代码出现问题。