如何使用 Titanium Studio 在 apigee baas 中 post json 对象
how to post json object in apigee baas using titanium studio
var jsonobj = { "username" : "cat" };
var client=Ti.Ui.createHttpClient({
onload:{ },
onerror : { }
});
client.open('POST',api.usergrid.com/serv-d/demo1/logs);
client.send(jsonobj);
详情:
jsonobj 是要在 apigee baas 中发布的 json 对象。
client.open
具有 apigee baas 的 url。
client.send
发送 json 对象。
您需要将数据作为 JSON 有效载荷发送,而不是像现在发送的那样 url 编码 POST 字段。您只需要将内容类型设置为 json.
var client = Ti.Ui.createHttpClient({
onload:{ },
onerror : { }
});
client.setRequestHeader('content-type', 'JSON');
client.open('POST',api.usergrid.com/serv-d/demo1/logs);
client.send(JSON.stringify(jsonobj));
我认为你的 jsonobj 应该是:
var jsonobj = {username: uname, password: pass};
因为 JSON.stringify()
会处理它的字符串化。
让我们做一些测试:
var client = Ti.Network.createHTTPClient();
client.open('POST', 'http://requestb.in/1b1yblv1');
client.send(payload);
有:
var payload = {username: "cat"};
在 http://requestb.in/1b1yblv1?inspect 你看到:
username=cat
有:
var payload = JSON.stringify({username: "cat"});
是:
{"username":"cat"}
这就是你需要的,对吧?
var jsonobj = { "username" : "cat" };
var client=Ti.Ui.createHttpClient({
onload:{ },
onerror : { }
});
client.open('POST',api.usergrid.com/serv-d/demo1/logs);
client.send(jsonobj);
详情:
jsonobj 是要在 apigee baas 中发布的 json 对象。
client.open
具有 apigee baas 的 url。
client.send
发送 json 对象。
您需要将数据作为 JSON 有效载荷发送,而不是像现在发送的那样 url 编码 POST 字段。您只需要将内容类型设置为 json.
var client = Ti.Ui.createHttpClient({
onload:{ },
onerror : { }
});
client.setRequestHeader('content-type', 'JSON');
client.open('POST',api.usergrid.com/serv-d/demo1/logs);
client.send(JSON.stringify(jsonobj));
我认为你的 jsonobj 应该是:
var jsonobj = {username: uname, password: pass};
因为 JSON.stringify()
会处理它的字符串化。
让我们做一些测试:
var client = Ti.Network.createHTTPClient();
client.open('POST', 'http://requestb.in/1b1yblv1');
client.send(payload);
有:
var payload = {username: "cat"};
在 http://requestb.in/1b1yblv1?inspect 你看到:
username=cat
有:
var payload = JSON.stringify({username: "cat"});
是:
{"username":"cat"}
这就是你需要的,对吧?