Как отправить этот запрос скручивания через Titanium-Appcelerator - PullRequest
1 голос
/ 05 января 2012

Я взаимодействую с веб-сервисом в своем проекте Titanium Appcelerator (с oAuth 2), и мне нужно сделать запрос HTTP POST. Я успешно делаю команду с curl следующим образом:

curl https://api.website.com/oauth/ -i -d "param=value&nextparam=goeshere" -H "Authorization: Basic hashgoeshere"

Это работает. Однако, когда я пытаюсь сделать это в Appcelerator, ни один из моих параметров не будет успешно передан, и, поскольку я не смог заставить это работать, я не уверен, правильно ли я передаю заголовок. Мой титановый код выглядит следующим образом:

xhr.validatesSecureCertificate = true;  
xhr.open("POST","https://api.website.com/oauth");

xhr.setTimeout(10000);

xhr.setRequestHeader('Authorization', "Basic hashgoeshere");

//unsure whether I need the next line or not. I don't in curl
//xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
xhr.send('{"param":"value","nextparam":"goeshere"}');

Я отлаживал на сервере API и получаю сообщение об ошибке, которое я получаю, если не отправляю параметры, поэтому, очевидно, я что-то делаю не так. Я просто не знаю что. Любая помощь будет признательна!

1 Ответ

2 голосов
/ 05 января 2012

Ваша команда xhr.send должна принимать объект JavaScript в качестве параметра, а не строку:

xhr.send({ param :"value", nextparam :"goeshere"} );
...