Jump to content

Проблема с ответом сервера по аякс


Lovly
 Share

Recommended Posts

Вообщем пишу свой движок, решил знания подкрепить.

Дошло дело до Ajax регистрации, и вылезла проблема.

Когда нажимаю кнопку зарегистрироваться в консоль выводит варнинг:

welcome.js:44 [Deprecation] Resource requests whose URLs contained both removed whitespace (`\n`, `\r`, `\t`) characters and less-than characters (`<`) are blocked. Please remove newlines and encode less-than characters from places like element attribute values in order to load these resources. See https://www.chromestatus.com/feature/5735596811091968 for more details.
(anonymous) @ welcome.js:44
c @ jquery.lib.js:2
fireWith @ jquery.lib.js:2
l @ jquery.lib.js:2
(anonymous) @ jquery.lib.js:2
load (async)
send @ jquery.lib.js:2
ajax @ jquery.lib.js:2
S.<computed> @ jquery.lib.js:2
(anonymous) @ welcome.js:36
dispatch @ jquery.lib.js:2
v.handle @ jquery.lib.js:2

 

Попробовал вывести ответ в консоль, через кансоль лог, он мне должен вывести айди юзера, но проблема в том что выводит в месте с айди весь код html страницы.

В движке я использовал шаблонизатор из кабула.

Если шаблонизатор отключить то всё работает нормально.

Попробовал шаблонизатор из Vii 2.0, с ним тоже всё выводит нормально.

Вот js код:

$(document).ready(function(){
	$('#reg_btn').on('click', function(){
		var name = $('#name').val();
		var surname = $('#surname').val();
		$.post('/?go=welcome', {
				name: name,
				surname: surname,
			}, function(d){
	
			var exp = d.split('|');
			if(exp[0] == 'ok'){
				console.log(exp[1]);
				window.location = '/u'+exp[1]+'after';
			}
		});
	});
});

window.location = '/u'+exp[1]+'after';

не сробатывает, выдаёт этот варнинг.

Я так понимаю из за того, что в ответе имеются символы и пробелы, которые хромимум не пропускает в url запросах.

обработчик тестовый*

if(!$user_logged){



  $user_name = $_POST['name'];
  $user_surname = $_POST['surname'];

  // Добавляем пользователя в базу
  $db->query("INSERT INTO `" . PREFIX . "_user` (name, surname) VALUES ('{$user_name}', '{$user_surname}')");
  $id = $db->insert_id();

  $_SESSION['user_id'] = intval($id);

  echo 'ok|'.$id;





}

 

В чем трабл? мучаюсь, в гугле не чего дельного не нашёл, помогите плиз))

Может как то можно убрать html код из ajax ответа и оставить только OK и Id юзера?

 

image.thumb.png.51406f9defc58515ca613784c14fea1a.png

Edited by Lovly
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...