Как лучше передавать/получать данные с ajax?

Немного запутался при работе с ajax.
Конкретно - насчет того, как и куда возвращается результат.

Часть кода
$.ajax({
url: 'actions.php?show,success: function(data){$('#input_area').html(data);}
});


Как я понимаю, результат будет возвращаться в элемент с id=input_area.
Как он туда будет возвращаться?
Я поясню

Вот функция выводящая html код
function show($show)
{
echo '<div id="input_area"><a href="#" class="link">Link</a></div>';
}


А вот код страницы
<div><?php echo show(''); ?></div>

Итого html код
<div>
<div id="input_area">
<a href="#" class="link">Link</a>
</div>
</div>


Что будет при нажатии на ссылку? Если есть js код выше?
Будет ajax запрос с передачей параметра show, который вызовет функцию show (я этот код тут не писал - не важно).
Вообщем будет вызвана функция, которая вернет echo.
А там есть div id="input_area". Но у нас на странице уже есть div id="input_area" (первоначальный вызов ф-ции).
Итого ошибка? В блок с id="input_area" должен загрузится код, содержащий блок с id="input_area".
Но нет - мы получим ровно один div с id="input_area" и ссылкой. Что произошло? Куда произошла загрузка?

А есть и более простой и понятный вариант.
Вот функция выводящая html код
function show($show)
{
echo '<a href="#" class="link">Link</a>';
}


А вот код страницы
<div id="input_area"><?php echo show(''); ?></div>

И html код и результат аналогичен.

Куда и как происходит загрузка (ответ) в первом случае и какой из вариантов (определить id дива в загружаемой ф-ции или в html коде страницы вне зависимости от ф-ции) лучше?
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 2
@ShVad
Сложно понять какая стоят задача. Что нужно сделать?

$.ajax({
  url: "some.php", // адрес куда отправляем запрос
  success: function(data){
    alert( "Прибыли данные: " + data ); // data можем вставлять в любое место $('#element_id').html(data);
  }
});
Ответ написан
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Как я понимаю, результат будет возвращаться в элемент с id=input_area.

$.ajax({
   url: 'actions.php?show',
   success: function(data){ // <-- сюда вернутся данные из скрипта php, попав в data
          $('#input_area').html(data); // здесь они будут вставлены в соответствующий DOM элемент
   }
});

PS: так как у вас пропущена кавычка, работать у вас скорее всего скрипт не будет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы