2011-09-08 5 views
0
$(function(){ 
    $('.update-mod-form').bind('ajax:success', function(evt, data, status, xhr){ 
     data = $.parseJSON(data); 
     console.log(data.success); 
     console.log(data); 
     if (data.success == true) { 
      $('#page').html(data.html); 
     } 
     else { 
     } 
    }); 
}); 

바인딩 바인딩 문제를 해결할 수있는 모든 JS 바인딩이 있습니까? 이 메서드는 한 번 작동합니다. data.html이 .html 메서드와 함께 추가 된 후에 메서드는 두 번째로 작동하지 않습니다.제 바인딩이 엉망입니다. 어떻게 해결할 수 있습니까?

data.html은 unbound 인 .update-mod-form 클래스를 생성합니다. 어떻게이 새로운 클래스를 바인드 할 수 있습니까?

나는 또한이 클래스가 여러 번 발생한다는 것을 유의해야한다. 클래스의 두 개 이상의 요소를이 방법으로 메서드에 바인딩 할 수 있습니까?

+0

$ .parseJSON을 호출하기 전에 데이터가 어떻게 보이나요? console.log (데이터)를 여기에 붙여 넣을 수 있습니까? –

답변

1

아니라고 제거합니다. 다시 바인딩해야하거나 live이 아닌 bind을 사용해야합니다.

ps. 이벤트가 ajax:success이 아닌 ajaxSucces일까요? 왜 글로벌 이벤트를 사용하고 있습니까?

+0

.bind 메서드를 .live로 바꾸면 완벽하게 작동합니다. 고맙습니다! 나는 점심 이후이 문제에 대해 연구 해왔다. –

0

#update-mod-form is가 먼저 아약스 호출 후,이 양식 (및 바인딩) 전멸되고, #page 내부가 "정의되지 않은"서버 측, 그렇지 않으면 유효한 JSON

+0

죄송합니다, 그것은 정의되지 않은 반환해야 console.log (data.success), 내 JSON 구문 분석하지 않습니다. –

+0

@ JZ : getJson 또는 dataType json 함께 아약스 isn '을 호출 할 수 있습니까? – genesis

관련 문제