Ajax получить сообщение о проблеме - PullRequest
0 голосов
/ 06 мая 2011

Я отправляю какое-то сообщение через Ajax, используя encodeURIComponent, но на стороне сервера, например, вместо сообщения

не могу

получить некоторый нежелательный символ

Я получаю

can \ 't

Каково решение этой проблемы

Ответы [ 3 ]

1 голос
/ 06 мая 2011

Кавычки не экранируются encodeURIComponent.namuol верен, ваш фреймворк пытается быть очень умным для вас и применяет свое экранирование ко всему, что проходит через POST и GETЕсли вы используете PHP, убедитесь, что Магические кавычки отключены, теперь они устарели.

1 голос
/ 06 мая 2011

Попробуйте этот ответ:

<?php 
// first use encodeURIComponent on javascript to encode the string 
// receive json string and prepare it to json_decode 
$jsonStr = stripslashes ($_POST['action']); 
// decode to php object 
$json = json_decode ($jsonStr); 

// $json is now a php object 
?>

Получено от:

http://php.net/manual/en/function.urldecode.php

0 голосов
/ 06 мая 2011

Существует вероятность того, что используемая вами среда активно пытается предотвратить атаки SQL-инъекций, по умолчанию экранируя символ одинарных кавычек.Изучите документацию для вашей платформы, чтобы узнать, как получить дословный текст из данных POST.

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