2013-02-07 2 views
1

때마다 내가 할 :jQuery를 아약스는 전체 개체를 반환하지

$.ajax({ 
    //my settings 
}).done(function(data){ 
    // Publish or store data 
}); 

그것은 완벽하게 잘 작동! 그러나, 나는이에 요구하고 있습니다 때문에, 관찰자 ​​패턴을 적용하기 위해 노력하고있어,하지만 난 할 때,이 코드를 사용하여 :

$.ajax({ 
    // my settings 
}).done(function(data){ 
    $(document).trigger('ALLREADY',data); 
}); 

// Some other part of the code 
$(document).on('ALLREADY',function(e,data){ 
    console.log(data); // WHY?! 
}); 

응답 (데이터)를 첫 번째 값을 저장하고,하지 전체 배열, 첫 번째 예제와 마찬가지로, 내가 그 기능을 깰 어떻게 했어?

추신 : 큰 배열의 첫 번째 값만 반환한다고해도 사용하려고해도 그것을 허용하지 않지만 기록 할 수 있습니다.

+0

'데이터'란 무엇입니까? –

+0

데이터는 JSON 개체이며 두 번째 경우에 완전히 전달되지 않고 첫 번째 값만 잘라내어 사용할 수 없으며 로그 할 수 있습니다. –

+0

http : // stackoverflow. 질문/1639516/통과 - json-data-on-trigger –

답변

1

data은 배열이므로 각 개별 부분은 이벤트 콜백에서 별도의 인수로 전송됩니다. data 개체가 있다면이 경우가 아닐 수 있습니다 (data처럼 사용할 수 있기 때문에 이상합니다).

그냥 사용하십시오 data = arguments.slice(1)

+0

오타를 만들었습니다. JSON 개체입니다. 아직 별도로 전송되고 있습니까? –

+0

@SolorzanoJose 상상하기가 어려울 것입니다. 제게'data'의 정확한 값이나 적어도 예제를 제공하십시오. –

+0

Sudhir와 함께 해결책을 찾았지만, 첫 문장은 옳았습니다. 별도의 인수로 전송 되었기 때문에 데이터 매개 변수를 새 배열로 전달하여 해결했습니다. 도움을 주셔서 감사합니다. –