【问题标题】:How to use ajax to post to kintone endpoint using AWS lambda and nodejs如何使用 ajax 使用 AWS lambda 和 nodejs 发布到 kintone 端点
【发布时间】:2020-11-14 09:49:01
【问题描述】:

这是我的第一篇 Stack Overflow 帖子。我在尝试使用 API 将记录添加到 Kintone 应用程序时遇到了困难。我正在使用 ajax 发送到使用 nodejs 的 AWS lambda 函数。我知道我的 AWS api 网关正在工作。我只是想不通为什么 JSON 对象没有发布到添加记录端点。

这是我的 JSON 对象:

body: {
    app: 1,
    record: {
        Text: {
            value: 'Sample'
        },
        Number: {
            value: 1
       }
    }
}

这是我的 ajax 帖子:

$.ajax({
    type: "POST",
    url: 'http://my-aws-endpoint/add-record',
    dataType: 'json',
    data: JSON.stringify({ body })
    // data: body
}).done(function(response) {
    console.log(response);
});

这是我的 nodejs:

var querystring = require('querystring');
var https = require('https');
var DOMAIN = 'mydomain.com';
var AUTH_VALUE = 'myauthvalue;
var headers = { 
    'api-token': 'myapitoken', 
    'Content-Type': 'application/json'
};
exports.handler = function (event, context) {
    var postData = querystring.stringify(
        event.body
    );
    var options = {
        hostname: DOMAIN,
        port: 443,
        path: '/k/v1/add-record.json',
        method: 'POST',
        headers: headers
    };

    var req = https.request(options, function (res) {
        var data = '';
        res.setEncoding('utf8');
        res.on('data', function (chunk) {
        data += chunk;
    });
    res.on('end', function () {
        context.done(null, JSON.parse(data));
    })
});
req.on('error', function (e) {
    console.log('problem with request: ' + e.message);
});

req.write(postData);

req.end();};

这是我得到的回应:

{code: "CB_IJ01", id: "FyttteBzB4eDaWEwoNUO", message: "Invalid JSON string."}

提前感谢您的帮助!

【问题讨论】:

    标签: node.js json ajax aws-lambda


    【解决方案1】:

    在执行时,请尝试使用 JSON.stringify 对正文进行编码。

    部分, data: JSON.stringify({ body }), 您可能会看到该错误,因为它包含“{}”。
    改成, data:JSON.stringify(body)

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      • 2020-08-06
      • 2020-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多