2014-07-16 3 views
-4

웹 사이트에 대한 ajax 호출에 대한 JSONP 응답을 처리하는 데 문제가 있습니다. 내 의도는 뉴스 항목의 결과 (URL)를 페이지에 표시하여 사용자가 각 링크를 클릭하면 기사가 들어있는 페이지로 이동하게됩니다. 그러나 그것은 일어나지 않습니다.JSON 응답 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"); 
    }, 
    }); 
    }); 
+0

href에서
2. 설정 문자열 값 ("mydata.results[i].url"은) 당신은 오타가 ;'변수 주위의 따옴표를 제거하십시오. – mawburn

+0

왜'a' 태그를 만든 후에'href' *를 추가하고 있습니까? 또한 각 루프에서 동일한 값으로 모든 'href'를 대체합니다. 'a' 태그 문자열을 만들 때 왜 넣지 않으시겠습니까? 또한,'mydata ... '부분이 따옴표로 묶여 있기 때문에, 그 속성에 들어있는 문자열 리터럴인데 관련 변수가 아닙니다. –

+0

감사합니다들 .. 나는 다음과 같은 일을 시도했지만 메시지를 찾을 수없는 파일을 계속. 왜 모르겠어요. $ ("ul"). append ('

  • '+ ''+mydata.results[i].url+''+ '
  • '); – user3681587

    답변

    1

    아마 당신의 각 반복마다 a의 잘못된
    1. 변경 HREF 값을하고

    $.each(mydata.results, function(i, value){ 
           $("ul").append('<li>' 
           +'<a href="'+mydata.results[i].url+'">'+mydata.results[i].url+'</a>' 
           + '</li>'); 
           }); 
    

    일을하는 데 도움이됩니다 여기에

    내 코드입니다 루프. ("UL의 리는") ATTR ("HREF", mydata.results을 [I] .URL)`$ :. 대신
    mydata.results[i].url