2011-06-13 4 views
1

내가, 내가 this.message도 this.image이 될 수 있도록, 그것으로 변수를 전달 할 수 있도록하고 싶습니다,JQuery와 아약스 호출에 매개 변수를 추가

$.ajax({ 
    url: "?page=" + page, 
    dataType: "json", 
    success: function(data) { 
    $.each(data, function() { 
     $("#feed").append("<li>" + this.message + "</li>"); 
    }); 
    } 
}); 

그러나이 JSON 아약스 기능이 있거나 이 링크. 나는 이것을 시도했다.

$.each(data, function() { 
     $("#feed").append("<li>" + myVar + "</li>"); 
    }); 

myVar = 'this.picture' 설정, 그러나 그것은 문자열로 myVar에 치료 그것은 작동하지 않았다. 목표를 달성 할 수 있도록 어떻게 변수를 전달할 수 있습니까?

미리 감사드립니다.

답변

2

시도 :

... + this[myVar] + ... 

myVar = 'picture', 또는 다른 어떤 필드가 표시 할 것입니다.

이것은 이름 자체가 리터럴 토큰이 아닌 변수 인 경우 객체의 명명 된 속성에 액세스하기위한 표준 구문입니다.

+1

[브라켓 표기법 (https://developer.mozilla.org/en/JavaScript/Reference/ 매개 변수를 사용 할 것을 원하는 연산자/Member_Operators # Bracket_notation). 60 %의 시간은 매번 작동합니다. –

+0

@Matt 따옴표로 묶을 때를 제외하고 ... ;-) – Alnitak

+0

아직 깨어 있지 않습니다. ... 나는 또한 다른 대답에 놀라움을 금치 못했다. –

-1

먼저 "그림"또는 "링크"가 반환 된 Json 객체로 전달되는지 확인해야합니다.

그런 다음이를 data.picture 또는 data.link의 데이터로 바꾸십시오.

+0

또한이 태그를 포장하면 작동하지 않을 것이다. –

-1

당신은 콜백이 $ .when

사용 $.when

var m = $.ajax({ 
      url: "?page=" + page, 
      dataType: "json" 
     }); 

    var callback = function(link) 
    { 
     return function(data){ 
        alert(link); //Can access data and link here 
      } 
    } 

    $.when(m) 
     .then(callback(link));