jQuery에서 Ajax 반환 데이터 추출
문제
jQuery와 Ajax를 수행했지만 DIV 요소에 응답을 얻을 수 없습니다. 이것은 코드입니다.
index.html
$.ajax({
type:"POST",
url: "ajax.php",
data:"id="+id ,
success: function(html){
$("#response").html(data);
}
});
그것은 나의 응답을 받고 있습니다 <div id="response"></div>
.
그만큼 ajax.php
다음 코드를 반환합니다 index.html
파일:
<div id ="one"> OneVal </div>
<div id ="sub"> SubVal </div>
OneVal과 Subval을 변수로 추출 할 수 있으며 위의 응답 대신 어떻게 "OneVal"및 "Subval"을 추출 할 수 있습니까?
해결책
당신이 사용할 수있는 .filter
응답에서 생성 된 jQuery 객체에서 :
success: function(data){
//Create jQuery object from the response HTML.
var $response=$(data);
//Query the jQuery object for the values
var oneval = $response.filter('#one').text();
var subval = $response.filter('#sub').text();
}
다른 팁
변경 .find
에게 .filter
...
성공 함수가 매개 변수 "html"을 가지고 있음을 알았으며 요소에 "데이터"를 추가하려고합니다. html()
...이 두 가지 일치하도록 변경하십시오.
$.ajax({
type:"POST",
url: "ajax.php",
data:"id="+id ,
success: function(data){
$("#response").html(data);
}
});
당신이 사용할 수있는 json
다음 예처럼.
PHP 암호:
echo json_encode($array);
$array
배열 데이터이고 jQuery 코드는 다음과 같습니다.
$.get("period/education/ajaxschoollist.php?schoolid="+schoolid, function(responseTxt, statusTxt, xhr){
var a = JSON.parse(responseTxt);
$("#hideschoolid").val(a.schoolid);
$("#section_id").val(a.section_id);
$("#schoolname").val(a.schoolname);
$("#country_id").val(a.country_id);
$("#state_id").val(a.state_id);
}
jQuery를 사용할 수도 있습니다 문맥 매개 변수. 문서에 링크
선택기 컨텍스트
기본적으로 선택기는 문서 루트에서 시작하여 DOM 내에서 검색을 수행합니다. 그러나 $ () 함수의 선택적 두 번째 매개 변수를 사용하여 검색을 위해 대체 컨텍스트가 제공 될 수 있습니다.
그러므로 당신은 또한 가질 수 있습니다.
success: function(data){
var oneval = $('#one',data).text();
var subval = $('#sub',data).text();
}
성공시 : 함수 (응답) {alert (response.d); }
제휴하지 않습니다 StackOverflow