Что может привести к тому, что Flash (AS3) заменит в & для & в параметрах запроса GET? - PullRequest
0 голосов
/ 09 октября 2009

Я провел день на этом и до сих пор не могу понять это. Проблема в том, что Flash, очевидно, заменяет & для & в моих параметрах запроса GET.

Так, например, я отправляю в URLLoader URLRequest с URL-адресом, подобным следующему:

http://foo.blah.com/app/index.php?abc=def&ghi=jkl&mno=pqr

Я проверил это, посмотрев на переменную в отладчике. Все же это терпит неудачу на нашем сервере. Ethereal сообщает, что на самом деле идет по проводам так:

GET /app/index.php?abc=def&ghi=jkl&mno=pqr

Не первый, а второй & заменяется на &.

Я не могу понять, как заставить это перестать делать это. Что может вызвать это? Или у кого-нибудь есть идеи о том, что я могу исследовать?

Ответы [ 2 ]

1 голос
/ 09 октября 2009

Используйте свойство data для построения переданных переменных GET (вам также нужно будет установить метод запроса на GET, обратитесь к документации AS3 для получения более детальной информации).

пример:

var getVars:URLVariables = new URLVariables();
getVars.abc = "def";
getVars.ghi = "jkl";

var request:URLRequest = new URLRequest();
request.data = getVars;

urlLoader.load(request);
0 голосов
/ 09 октября 2009

Тьфу. Хорошо, благодаря Тео (который я буду благодарен за ответ, потому что я не знал об URLVariables), я пошел и проверил все возможные вещи, которые могли быть неправильными.

Реальная проблема заключалась в том, что у меня действительно есть & в исходном URL-запросе. Я выполнял string.replace (), который, конечно, затрагивает только первый экземпляр.

Проблема заключалась в том, что в отладчике Flash, по-видимому, любезно преобразует & обратно в &! Так что я не видел ошибку. Спасибо, Флэш!

Если бы я выполнил трассировку () на выходе, просто чтобы быть уверенным (что я думал, что имел, но явно не имел), то я бы заметил это.

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