2015-10-07 1 views
0

У меня есть этот файл, который делает запрос API где-нибудь, чтобы получить данные JSON. Запрос должен иметь 2 пользовательских заголовка. Я прочитал, что пользовательские заголовки требуют, чтобы запрос был POST.Flash as3 - запрос API с пользовательскими заголовками: POST, но отображается как GET (IOError # 2032)

Я прочитал все предыдущие вопросы здесь, а также на других сайтах, я думаю, что код показывает это довольно хорошо ... «Смешная» часть заключается в том, что в какой-то момент я создал регистратор (среда: Tomcat) для понять, почему он не загружается, и, видимо, запрос я шлю это GET, даже если я указал на то, чтобы быть POST ...

Код

var url:String = "your_url_here"; 

var headers:Array = [ 
    new URLRequestHeader("user-id","your_user-id"), 
    new URLRequestHeader("custom-auth","your_custom_auth_code"), 
    new URLRequestHeader("Accept","application/json") 
    ]; 

var request:URLRequest = new URLRequest(); 
request.requestHeaders = headers; 
request.method = URLRequestMethod.POST; 
request.contentType = "application/json"; 
request.url = url; 

var loader:URLLoader = new URLLoader(); 
loader.dataFormat = URLLoaderDataFormat.TEXT; 
loader.addEventListener(Event.COMPLETE, decodeJSON); 
loader.addEventListener(IOErrorEvent.IO_ERROR, handleError); 

loader.load(request); 

private function handleError(e:IOErrorEvent):void{ 
     sometextcontainer.txt01.text = e.toString(); 
     } 

private function decodeJSON(e:Event) { 
     var Info:Object = JSON.parse(e.target.data); 
     // text fillers 
} 

ошибка: # 2032 STREAM ERROR, но я был на 100% уверен в правильности URL-адреса, поэтому я сделал регистратор, чтобы увидеть, что происходит с другой стороны, и удивить urprise ... Запрос кажется GET!

Что я сделал неправильно? Идеи?

Note1: У меня нет проблем с песочницей безопасности, поскольку я уже установил глобальные исключения;

Примечание2: я попробовал запрос в REST с собственными заголовками (как POST), и она работает (и регистратор говорит, что я на самом деле сделал POST ...)

Спасибо за вашу любезную помощь! :)

+1

http://stackoverflow.com/questions/12774611/urlrequest-urlloader-auto-converting-post-request-to-get – SushiHangover

ответ

0

Это сделало трюк.

Я добавляю код, чтобы все понимали его лучше и быстрее. В принципе, я добавил следующее:

var datareq:URLVariables = new URLVariables(); 
datareq.dummyTest = "true"; 
request.data = datareq;` 

Так что теперь он выглядит следующим образом:

var request:URLRequest = new URLRequest(); 
var datareq:URLVariables = new URLVariables(); 
datareq.dummyTest = "true"; 
request.data = datareq; 
request.requestHeaders = headers; 
request.method = URLRequestMethod.POST; 
request.contentType = "application/json"; 
request.url = url; 

Спасибо за помощь.

Смежные вопросы