Задать вопрос
Helber
@Helber

Почему при получении данных AJAX происходит искажение значения?

Доброго времени суток, Господа знатока аякса!

Суть проблемы:
При ответе от сервера строка каким то образом искажается так что перед оригинальным значением добавляются еще какого то непонятного формата данные. В общем, листайте иллюстрации:
обработчик:
<?php
function CheckExist($ChObj){
	$sql = "select * from users where mail='$ChObj'";
	$pdo = new PDO('mysql:host=localhost;dbname=db_main', 'root', '');
	$result = $pdo->query($sql);
	
if ($row=$result->fetch())
{	
	$UserExist = 'exist';
	
}
	else
	{		
		$UserExist = "notexist";

	}
	return $UserExist;
}
?>


Скрипт с аяксом:

function SendRegData(){
$("#frm_reg").submit(function() {
		var frm = $("#frm_reg").serialize();
		$.ajax({
			type: "POST",
			url: "php/sql.php",
			data: frm,
			dataType: "html",
			success: function(data){
				$("#data").append(data); 
				alert(data);
			}
		}).done(function() {
			//alert("Данные отправлены!");
			//$("#frm_reg").trigger("reset");
		});
		
		return false;
	});
	
}


На всякий случай попытался вывести ответ алертом и в параграф. Что из этого вышло смотрите ниже:

Алерт:
6d11211aa10f41ff988529e82236bac4.JPG

Параграф

20cbf78ea2c948af92908072608d046a.JPG

$("#data").append(encodeURI(data));

%0D%0A%09exist
  • Вопрос задан
  • 370 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
@HeadR
Зануда
%0D%0A%09 это CR LF Tab.
По простому - символы новой строки и табуляции перед отправленными данными. Просмотрите предшествующий код, возможно он мусорит каким-нибудь echo, или же php-файл начинается не с <?php.
Ответ написан
Helber
@Helber Автор вопроса
Причиной всему - таб перед тегом <?php
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Ваш ответ на вопрос

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

Похожие вопросы