URL-кодирование переменной в AS3?

Я получаю следующую ошибку при попытке передать переменные через URLRequestMethod.POST;

Ошибка: ошибка № 2101: строка, переданная в URLVariables.decode (), должна быть строкой запроса в кодировке URL, содержащей пары имя / значение.

Есть ли метод для строкового кодирования URL?

6
задан dd . 5 September 2012 в 08:43
поделиться

4 ответа

Решение этой проблемы: Вы должны установить для URLLoaderDataFormat значение URLLoaderDataFormat.TEXT, а не URLLoaderDataFormat.VARIABLES. Поскольку ПЕРЕМЕННЫЕ означают разные типы данных, а не несколько элементов в URLVariables .

7
ответ дан 8 December 2019 в 02:40
поделиться

Существуют escape () и unescape () как функции верхнего уровня ActionScript 3 для кодирования / декодирования URL.

21
ответ дан 8 December 2019 в 02:40
поделиться

Это сообщение об ошибке обычно вызывается передачей недопустимой строки запроса объекту URLVariables. Но в большинстве случаев вам не нужно передавать строку запроса. Вы можете просто добавить пары к объекту как обычные свойства и позволить ему выполнять кодирование и экранирование (что и предназначено для этого класса).

var vars:URLVariables = new URLVariables();
vars.param1 = "Text to be escaped. Works for non ascii: ñ";
vars.param2 = "http://www.google.com/?q=something&test=1234";
trace(vars.toString());

Трассировка, конечно, не нужна, просто чтобы вы могли видеть, что кодировка сработала.

6
ответ дан 8 December 2019 в 02:40
поделиться

Я сталкивался с этой проблемой много раз, и обычно это строка myLoader.dataFormat = URLLoaderDataFormat.VARIABLES , которую я пропустил. Попробуйте удалить эту строку, если она у вас есть:

request.method = URLRequestMethod.POST

и, наконец, убедитесь, что вы получаете ответ через переменную theStatus = okay , тогда это должно помочь.

0
ответ дан 8 December 2019 в 02:40
поделиться
Другие вопросы по тегам:

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