@hitag
Начинающий веб-разработчик.

Ответ на ajax запрос приходит html код?

Ajax:
$.ajax({ 
	url: 'article.php',
	data: {'login' : "Gosa"},
	type: 'post',
	success: function(data){
	alert(data);
});


PHP:
if($_SERVER['REQUEST_METHOD'] == "POST"){
	echo $_POST['login'];
}


Response:
b540046cf0e64dacadfeac0cad9530b5.png

Network:
84342a74945f4004b36395d410775225.png

Console:
d7cabfd9ac6b4f97986b243f8161f3cc.png
  • Вопрос задан
  • 3922 просмотра
Пригласить эксперта
Ответы на вопрос 4
@skver91
Нажимаете F12, дальше заходите в консоль или в сеть, и только тогда вы увидите проблему.
Ответ написан
Комментировать
b0nn1e
@b0nn1e
Alcohol & Ruby on Rails
AJAX запрос не сильно отличаеться от обычного запроса.
Для определения, AJAX-ли запрос пришел, можно использовать что-то типа:
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
	// это AJAX запрос
	echo $_POST['login']; // выводим что-нибудь
	die(); // что-бы прервать дальнейшее выполнение скрипта
}
Ответ написан
Комментировать
@Dawnreader
За тип ответа отвечает сервер, вы можете лишь сказать серверу, что вы хотели бы получить в ответ.

Выставляйте нужный Content-Type header в ответе что-то вроде такого например, если хотите получить json в ответ

if($_SERVER['REQUEST_METHOD'] == "POST"){
  header('Content-Type: application/json');
  echo json_encode(['login => $_POST['login']]); 
  die();
}
Ответ написан
Комментировать
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
В ответе может быть что угодно, любые данные.
В вашем случае вместе с результатом тянутся еще, как я понимаю, данные view шаблона, что нормально для MVC архитектуры. Соответственно проблему надо искать на бэкэнде и отдавать данные без генерации view файла.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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