出于某些奇怪的原因,以下代码在Android上不再正常工作。在iOS上,该代码仍然有效,但是由于某种原因,在Android设备上,它似乎不再将参数作为表单参数发送到服务器。在钛的早期版本(6.0.2.GA)中,它可以正常工作。现在,我正在使用7.2.0.GA SDK。有人知道是什么导致升级后此代码无法正常工作吗?
var loginModel = {
username: 'blabla',
password: 'password'
};
xhr.open("POST", 'http://someurl');
xhr.send(loginModel);
答案 0 :(得分:0)
我必须测试的最低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年6月开始)