Объект запроса Mootools не позволяет мне иметь знаки «+» в моей строке запроса - PullRequest
1 голос
/ 01 сентября 2011

У меня есть следующий код Javascript / Mootools:

var str = self.tI.get('value').replace(/\s/g,'+'),
    data = 'action=getplaces&str=' + str + '&latLng=' + $('coords').get('value'),
    r = new Request({
        url: 'action.php',
        method: 'get',
        link: 'cancel',
        onSuccess: function (response) {
            /* Do Stuff */
        }
    }).send(data);
console.log(str);

В первой строке я заменяю все пробелы знаком +.Когда я записываю значение str в консоль, я получаю соответствующее значение (то есть: «blabla + bla»)

Однако, когда я отправляю запрос, мой запрос не выполняется.Если я смотрю на заголовки и строку запроса, знак + просто снова заменяется пробелом (т. Е. «Blabla bla»)

Что с этим?И есть ли способ обойти это?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2011

Для всех, кто интересуется, моя проблема оказалась на стороне сервера. Как только данные попали на сервер, я пытался включить их в другой URL, но сервер уже проанализировал% 20 и символы + в пробелах. Поэтому пришлось выполнить некоторые манипуляции со строками на стороне сервера.

0 голосов
/ 01 сентября 2011

Вам нужно экранировать плюс, поскольку это зарезервированный символ в URL-адресах HTML. замените его на +

...