AJAX POST и знак плюс (+) и (&) Как кодировать? - PullRequest
1 голос
/ 18 мая 2011

Я размещаю содержимое поля формы через AJAX to a PHP script и использую этот код

if(!http)
            http = CreateObject();  

        nocache = Math.random();

        http.open('post', 'addvm.php');
        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
        http.setRequestHeader("Content-length", params.length);
        http.setRequestHeader("Connection", "close");
        http.onreadystatechange = SaveReply;

        http.send(params);

Проблема в том, что любые знаки + and & удаляются и заменяются. Как можно безопасно «кодировать» знаки + and & и затем соответствующим образом «декодировать» их на стороне PHP?

Ответы [ 2 ]

2 голосов
/ 19 мая 2011

необходимо закодировать ваши параметры encodeURIComponent Примечание: -При доступе к $_GET, $_POST or $_REQUEST in PHP вы получаете значения, которые уже были декодированы.

2 голосов
/ 18 мая 2011

попробовать:

js: encodeURIComponent (/* url */);

php: urldecode (/* url */);

...