json - POST JSON 数据钛问题

标签 json post titanium-mobile

我想使用 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/

相关文章:

C# 构建数据中包含分号的 JSON 字符串

rest - 未处理的异常:类型 'int'不是类型转换中类型 'String'的子类型

javascript - Nginx 在 POST .js 请求上返回 404

android - 如何修复 Android 中使用钛合金的 TableView 中触摸事件和图像消失的问题?

c# - 在 WCF REST 服务中返回自定义 Json 结果

java - Elastic Search 5 中的复杂搜索查询

PHP 和 CURL POST XML

backbone.js - 钛合金中数据绑定(bind)到 Picker 时出现问题

javascript - 如何将数据绑定(bind)到钛合金标签上?

sql-server - 如何通过 TSQL 从 SQL Server 查询中生成 JSON 字符串?