Я пытаюсь сделать запрос HTTP POST через as3 AIR для мобильного эквивалента этого завитка запроса:Создание запрос HTTP POST в as3 AIR
curl -d '{"firstname": "John", "lastname": “Doe"}' -H 'Content-Type: application/json' http://eve-demo.herokuapp.com/people
Это мой код:
var urlVariables:URLVariables = new URLVariables();
urlVariables.firstname = "Jhon";
urlVariables.lastname = "Doe";
var request:URLRequest = new URLRequest();
request.url = "http://eve-demo.herokuapp.com/people";
request.contentType = "multipart/form-data";
request.method = URLRequestMethod.POST;
request.data = urlVariables;
var contentTypeHeader:URLRequestHeader = new URLRequestHeader("Content-Type", "application/json");
var acceptHeader:URLRequestHeader = new URLRequestHeader("Accept", "application/json");
var formDataHeader:URLRequestHeader = new URLRequestHeader("Content-Type", "multipart/form-data");
request.requestHeaders = [acceptHeader, formDataHeader];
postLoader = new URLLoader();
postLoader.dataFormat = URLLoaderDataFormat.BINARY;
postLoader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
postLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
postLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
postLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
try
{
postLoader.load(request);
}
catch (error:Error)
{
trace("Unable to load post URL");
}
Но я получаю следующее сообщение об ошибке:
[HTTPStatusHandler]: [HTTPStatusEvent type="httpStatus" bubbles=false cancelable=false eventPhase=2 status=400 redirected=false responseURL=null]
[IOErrorHandler]: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: http://eve-demo.herokuapp.com/people" errorID=2032]
кого-то есть предложения, как сделать запрос HTTP POST с «многообразным/форм-й ata '(без какого-либо файла для загрузки) ??
Благодаря
проверить, что ответ http://stackoverflow.com/questions/18830721/send-file-from-actionscript-to-servlet/18830921#18830921 – fsbmain
это может работать если я хочу загрузить файл, но что, если я просто хочу отправить эти 2 переменные в качестве запроса POST? – Aditya
просто пропустите _byteArray_, он может быть нулевым, или если вам не нужно _contentType = "multipart/form-data" _, вы можете просто пропустить его для установки (значение по умолчанию - _ "application/x-www-form -urlencoded "_) – fsbmain