Параметры титановой формы POST не работают на Android с 7.2.0.GA SDK - PullRequest
0 голосов
/ 08 апреля 2019

По какой-то странной причине следующий код больше не работает должным образом на Android. В iOS этот код все еще работает, но по какой-то причине на устройстве Android он выглядит так, как будто он больше не отправляет параметры в качестве параметров формы на сервер. В предыдущих версиях (6.0.2.GA) из Titanium он работал нормально. Сейчас я использую 7.2.0.GA SDK. Кто-нибудь знает, что может заставить этот код больше не работать после обновления?

var loginModel = {
    username: 'blabla',
    password: 'password'
};
xhr.open("POST", 'http://someurl');
xhr.send(loginModel);

1 Ответ

0 голосов
/ 10 апреля 2019

Самый низкий SDK, который я должен был протестировать, - это 7.3.1.GA и этот код:

var loginModel = {
    username: 'blabla',
    password: 'password'
};

var xhr = Ti.Network.createHTTPClient({
    onload: function(e) {
        Ti.API.info("Received text: " + this.responseText);
    },
    onerror: function(e) {
        Ti.API.debug(e.error);
    },
    timeout: 5000
});
xhr.open("POST", 'https://httpbin.org/post');
xhr.send(loginModel);

с таким результатом:

[INFO]  "args": {},
[INFO]  "data": "",
[INFO]  "files": {},
[INFO]  "form": {
[INFO]  "password": "password",
[INFO]  "username": "blabla"
[INFO]  },
[INFO]  "headers": {
[INFO]  "Accept-Encoding": "identity",
[INFO]  "Content-Length": "33",
[INFO]  "Content-Type": "application/x-www-form-urlencoded",
[INFO]  "Host": "httpbin.org",
[INFO]  "User-Agent": "Appcelerator Titanium/7.3.1 ()",
[INFO]  "X-Requested-With": "XMLHttpRequest",
[INFO]  "X-Titanium-Id": ""
[INFO]  },
[INFO]  "json": null,
[INFO]  "origin": "",
[INFO]  "url": "https://httpbin.org/post"
[INFO]  }

Так что отправляет правильный результат. Вы можете попробовать этот код в своем SDK или попробовать обновить (7.2.0 с июня 2018 года)

...