我想使用 HTTP 请求发布 JSON 数据。我看过官方docs我正在按照他们的要求工作。我正在使用以下代码:
var xhrpost = Ti.Network.createHTTPClient();
xhrpost.onload = function(){
activityIndicator.hide();
alert('Posted successfully');
alert(JSON.stringify(this.responseText));
}
var posturl = 'http://qudova.com/api.php';
xhrpost.open('POST', posturl);
xhrpost.setRequestHeader("Content-Type", "application/json");
xhrpost.setRequestHeader('charset','utf-8');
var params = {
ProjectID : picked_prj,
RoleID : picked_rol,
FirstName: first.value,
LastName: last.value,
Phone: phone.value,
Email: email.value,
City: city.value,
State: stat_drp.getSelectedRow(0).title,
Zip: zip.value,
Notes: notes.value,
};
xhrpost.send(params);
如果这是发布 JSON 数据的正确方法。我将如何检查数据是否已发布?网址会包含发布的数据吗??
我在 onload 事件中添加的以下警报中得到 null。
alert(JSON.stringify(this.responseText));
我正在 Windows 7 上工作,在 Android 4.2.2 上进行测试......提前致谢。
最佳答案
当您将 Content-Type 设置为 json 时,您需要对输入进行字符串化。
var xhr = Ti.Network.createHTTPClient();
xhr.open('POST', url);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader('charset','utf-8');
xhr.send(JSON.stringify({
prop: 'string',
data: {
embeddedProp: 1234
}
}));
试过了,它起作用了,无法在文档中找到它。
关于json - POST JSON 数据钛问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15620221/