jQuery.ajax, как получить данные от div другой страницы - PullRequest
1 голос
/ 05 марта 2011

Я новичок в jquery.ajax. У меня все еще есть вопрос. как получить данные из div другой страницы? Я пытаюсь сделать это: открыть a.php, отправить HTML-данные из div # send в b.php, затем вернуть данные из b.php div#aa и показать в a.php div#result, из b.php div#bb и показать в .php div#text. Спасибо.

a.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script> 
<script language="javascript"> 
$(document).ready(function () {      
var params = "value=" + $('#send').text();   
$.ajax({        
     url:'b.php',        
     type:'post',                 
     dataType:'html',            
     data:params,            
     success:data     
     }); 
function data (html) {   
$("#result").html('#aa'); 
$("#text").html('#bb'); 
} 
}); 
</script>
<body>
<div id="result"></div>// I need return 'this is an apple.'
<div id="text"></div>//I need return 'A red apple'.
<div id="send">apple</div>

b.php

<?php
echo '<div id="aa">';
echo 'This is an '.$_REQUEST['value'].'.'; 
echo '</div>';
echo '<div id="bb">';
echo 'A red '.$_REQUEST['value'].'.'; 
echo '</div>';
?>

1 Ответ

1 голос
/ 05 марта 2011

Вам нужно превратить строку ответа в элементы DOM, выбрать эти элементы и добавить их в нужное вам место.

function data (html) {
    var $html = $( html );             // create DOM elements in a jQuery object

    $html.filter('#aa').appendTo("#result"); // filter out the '#aa' element and
                                             //    append it to '#result'

    $html.filter('#bb').appendTo("#text");   // filter out the '#bb' element and
                                             //    append it to '#text'
}

Я использовал filter() [docs] , потому что элементы, на которые вы нацеливаетесь, находятся на верхнем уровне HTML-ответа.

Если бы они были вложены глубже, вместо этого вы бы использовали метод find() [документы] .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...