문제

Ajax 및 JQuery로 코드를 개발했습니다. My.php로부터 응답을 받았으며 응답의 값을 추출하려고했습니다. 여기서 코드 (HTML) :

my.php

?php
    echo '<div id="title">My Title </div>';
    echo '<div id="message"> My message </div>';
?>

제목과 메시지를 추출하여 코드가 아래에 있습니다.

    <head>
        <script type="text/javascript" src="js/jquery-1.2.6.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                alert("OK");

                $.ajax({
                    type:"POST",
                    url: "my.php",
                    cache:false ,
                    success: function(data){
                        $("#response").html(data);
                        var $response = $(data);
                        var oneval = $response.find('#title').text();
                        var subval = $response.find('#message').text();
                        alert(oneval);
                    }
                });
            });
        </script>
    </head>

    <body>
        <div id="response">
        </div>
    </body>
</html>

...

문제는 내가 경고하려고 할 때 작동하지 않는다는 것입니다. 이 논리에 무슨 문제가 있습니까? 다른 기능을 사용하여 제목과 메시지를 추출해야합니까?

도움이 되었습니까?

해결책

알았어 http://jsbin.com/udige/ 그리고 당신은 그것이 작동하는 것을 볼 수 있습니다.

키는 사용 중입니다 .filter, 두 개의 div가 응답의 루트 요소이기 때문에. 내 실수.

기본적으로 다음을 수행하십시오.

success: function(data){
    $("#response").html(data);
    var $response = $(data);
    var oneval = $response.filter('#title').text();
    var subval = $response.filter('#message').text();
    alert(oneval);
}

다른 팁

당신이 그것을 쓴대로 응답이 돌아 오면 내가 당신에게 준 코드는 작동합니다.

디버거 사용 방법을 배워야합니다 (개똥 벌레) 및 코드에 중단 점을 넣어 콘솔을 사용하여 선택기를 테스트하고 변수의 값을 볼 수 있습니다. 또한 특히 새로운 질문을 열지 않고 제가 제공 한 원래 질문과 답변에 실제로 응답해야합니다. 당신은 당신의 원본을 교차 참조조차하지 않았습니다.

대신 이것을 사용해보십시오.

var oneval = $("#response #title").text();
var subval = $("#response #message").text();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top