我正在尝试使用JavaScript(WinJS)为Windows构建Simplenote客户端,并使用HTTP Simperium API进行连接。但是,我遇到了一个连接的简单问题。从我在互联网上找到的东西和我之前的理解,我认为我没有以正确的格式传递数据,但我没有看到我出错的地方。以下是我的代码:
function button1Click(mouseEvent) {
var app_id = 'chalk-bump-f49';
var formparams = "?username={email}&password={password}";
WinJS.xhr({
url: "https://auth.simperium.com/1/" + app_id + "/authorize/",
type: "POST",
headers: { "X-Simperium-API-Key": "{key}"},
data: formparams
}).then(function (result) {
var data = result.responseText;
console.log(data);
}, function (error) {
var er = error.responseText;
console.log(er);
}, function (progress) {
var data = progress.responseText;
});
}
JavaScript控制台说明以下内容:{"field": "username", "message": "This field is required"}
我无法理解为什么它说该字段是必需的,因为我填写了用户名的值。我也尝试将data: formparams
更改为data: {username: "email", password: "password"}
,但收到了相同的错误消息。
供参考,我使用以下API文档:https://simperium.com/docs/reference/http/
答案 0 :(得分:1)
不要在formparams中加问号 var formparams =“username = {email}& password = {password}”;
答案 1 :(得分:0)
在ajax调用中作为数据参数传递数据时,像有效的json一样传递。
如下所示:
{"username": "test@test.com", "access_token": "84f27d20f93b414f8b7bc3441f87c9e1", "userid": "f5067cc81c9c26dcdca468f0cdf60508"}
如API文档here中所述。