javascript - 尝试从 node.js 执行 POST 请求时出现 400 Request TimeOut 错误

标签 javascript jquery node.js

下面是详细解释

我已设置帖子数据

var post_data = JSON.stringify({
    "primaryContact": {
        "id": 'contact_id'
    },
    "subject": "subject"
});

设置 https 模块选项

var https_options_post = {
    host: hostName,
    method: 'POST',
    path: "/services/rest/connect/v1.3/incidents",
    headers: {
        'Content-Type': 'application/json',
        'Content-Length': Buffer.byteLength(post_data),
        'Authorization': auth
    }
}

创建了一个处理 POST 请求的函数

function postJSON(https_options_post, callback) {
    var request = https.request(https_options_post, function (response) {
        console.log('In POST Request Function block');
        var body = '';
        response.on('data', function (chunk) {
            body += chunk;
        });
        response.on('end', function () {
            console.log(body);
            var bodyJSON = JSON.parse(body);
            var result = "Incident Reference Number: " + bodyJSON.lookupName;
            callback(null, result);
        });
        response.on('error', callback);
    })
    .on('error', callback)
    .end();

调用函数

postJSON(https_options_post, function (err, result) {
  if (err) {
    return console.log('Error while retrieving Data: ', err);
  }
    console.log(result);
});

但是返回的响应是

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
  <head>
    <title>408 Request Time-out</title>
  </head>
  <body>
    <h1>Request Time-out</h1>
    <p>Server timeout waiting for the HTTP request from the client.</p>
  </body>
</html>

当我使用 REST 客户端扩展访问 chrome 中的 API 并传递基本身份验证参数时,从服务器返回的是 JSON。请帮忙指出代码是否有问题。

最佳答案

没有数据写入request流中,并且服务器保持期望的Content-Length字节数据。在 request.end() 之前编写 request.write(post_data) 解决了这个问题

关于javascript - 尝试从 node.js 执行 POST 请求时出现 400 Request TimeOut 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45831390/

相关文章:

node.js - 为 nightwatch.js 添加链接 .not() 自定义断言

node.js - 使用 Restify 的 CORS 配置

javascript - 将数组数据传入 div 元素

javascript - 在数字范围内自动生成年份

javascript - 在 React 中动态嵌套元素

java - ExtJS Direct——将范围传递给方法

node.js - 安装/升级 nodejs v0.10.30 时出现 "update-alternatives"错误

javascript - 放入输入文件时填写文件详细信息

javascript - Ajax.beginForms MVC 部分 View

javascript - Bootstrap轮播不滑动