응답

2012-09-22 3 views
0

에서 나는 다음과 같은 자바 스크립트응답

$.ajax({ 
    type: ... url: ... data: ... bla bla... 

    success: function(html) { 

     var response = $(html).filter('#targetID').html(); 

     $('body').html(response).show('slow'); 

    } 
}); 

그것은 자바 스크립트와 페이지 로딩, 자바 스크립트 disapears을 제외하고 잘 작동을 가지고에서 HTML과 자바 스크립트를 활용하는 방법. 이 문제를 해결하는 방법?

+1

스크립트가 body 태그 내에있는 경우 html() 메서드는 모든 내용을 지우고 body 요소 대신 다른 요소에 데이터를 추가하는 것을 고려합니다. – undefined

+0

'나는 다음과 같은 자바 스크립트''$ .ajax ({type : ... url : ... data : ... bla bla ...'를 어떻게 실행합니까? – Nope

+0

'javascript 사라지다 '? 페이지가로드됩니까? –

답변

0

당신은 JavaScript를 통해 Ajax 요청을 얻는다는 의미입니다.

그런 경우 적절한 코드가 있는지 확인해야합니다. compability는 그런 종류의 것들을 가진 암캐이기 때문에. JQuery는 결과를로드 할 때 jval이로드되어야한다고 생각합니다. 하지만 당신의 코드는 보통 페이지에서 무시되는 몇 가지 aprse 오류 일 수 있습니다. 그러나 eval과 함께 사용하면 일부 브라우저에서 오류가 발생합니다.

어떤 브러 사를 사용하고 있습니까?

코드를 지정된 div에로드 한 후 평가를 시도하십시오.

1

신체 내부에 컨테이너를 사용하고 코드를 신체에 직접 놓아 두지 마십시오.

즉. JS 호출

$('.container').html(response).show('slow'); 

본문에 내용이로드 컨테이너와 직접적으로 모두 대체 할 그 길에 그런 용기

<div class="container"></div> 

될 것입니다 신체 내부의 div 태그에 추가 당신이 가지고있는 JS를 포함한 페이지의 내용.

또한 Ajax 호출을 사용할 때 더 깨끗한 코드가 처리 할 다른 함수에 대한 응답을 전달한다고 생각합니다. 그렇게하면 디버그하고 코드를 더 쉽게 이해할 수있는 작은 함수가 생깁니다.

$.ajax({ 
    url: 'ajax/test.html', 
    success: function(data) { 

     //Here you pass the response to the other function 
     processSuccess(data); 
    }, 
    fail: function(data) { 

     //Here you pass the response to the other function 
     processFail(data); 
    } 

}); 

function processSuccess(response) { 
    //Print the response in the console (ie. Firebug console) 
    //if console is available 
    if(console) { 
     console.log(response); 
    } 
}; 

function processFail(response) { 
    //Print the response in the console (ie. Firebug console) 
    //if console is available 
    if(console) { 
     console.log(response); 
    } 
}; 

물론 네임 스페이스 안에있는 모든 것이 더 좋습니다.

+0

그건 괜찮아,하지만 난 필요해. 응답에서 특정 div. 그리고 때로는이 div 자바 스크립트를 포함 할 수 있습니다. – chaplain