REST客户端返回“200 OK” - 太好了!
createHTTPClient返回具有完全相同数据的“HTTP错误”。当我删除payoad时,我得到一个响应,当我在client.send(有效载荷)中添加有效载荷时,我得到了错误。我确实需要传递有效负载以备将来的请求。
<select>
<option v-for="(reason, key) in reasons"
:value="key"
:key="key">
{{reason}}
</option>
</select>
答案 0 :(得分:1)
你没有显示你得到了什么样的错误,但我想问题是你尝试发送一个对象,而有效负载应该是文本(你的代码中有client.setRequestHeader('Content-Type', 'application/json');
)。试试这个:
// Send the request.
client.send(JSON.stringify(payload));
答案 1 :(得分:1)
您只需将最后一行更改为:
client.send( JSON.stringify(payload) );
原因是,由于您要将内容类型设置为应用程序json,因此您需要对字典对象的输入数据进行字符串化,以便服务器可以根据标头集对其进行解析。
答案 2 :(得分:0)
试试这个
var xhr = Ti.Network.createHTTPClient();
xhr.onload = function(e) {
var myObjectString = JSON.parse(this.responseText);
alert(myObjectString.token);
Ti.API.info("Received text: " + myObjectString.token);
};
xhr.onerror = function(e) {
Ti.API.error(e.error);
alert('error');
};
xhr.open('POST', 'https://my.cgps.org/rest_login/user/token.json');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send();
希望这会有所帮助。我认为您在API调用中没有正确处理send参数。