javascript - 无法通过 HTTP 请求将对象从客户端 JS 发送到 Node JS

标签 javascript node.js object request

我有一个向 NodeJS 发送对象的函数。

function addRequest(request_item){
    var request = new XMLHttpRequest;
    request.open("GET", "http://localhost:3000/add_register_request"+"?request_item="+request_item)
    request.send(request_item);
    console.log("Sent");
    document.location.reload(true);
};

request_item 是对象。

app.get('/add_register_request', function(req,res){
    console.log("ADDDD")
    var request = req.query.request_item
    console.log(`SQL is ${request}`) //This gives {object Object}
})

JSON.stringify(request) 仅返回“{object Object}”。唯一的区别是它现在用引号引起来。

如何在我的 NodeJS 中访问该对象? 提前致谢!

最佳答案

如果 request_item 是一个对象,并且您将它连接到一个字符串,它将变成您在 /add_register_request 端点接收和看到的字符串对象 Object。

const request_item = { foo: 'bar' };

const request_string = "http://localhost:3000/add_register_request"+"?request_item=" + request_item;

console.log(request_string);

如果您尝试将数据发送到后端以将其保存到某个数据库或类似的东西,您应该使用 POST 动词而不是 GET 并将数据发送到请求正文中,而不是作为参数。

此外,我认为您可能在初始化 new XMLHttpRequest 时忘记了括号。我觉得应该是 new XMLHttpRequest()

关于javascript - 无法通过 HTTP 请求将对象从客户端 JS 发送到 Node JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57505467/

相关文章:

javascript - 从键/值对象对中查找最大值 Javascript

c# - 您如何通过其 "name"调用方法?

javascript - 使用 jquery onclick 加载 iframe,但它仅适用于 jsfiddle

javascript - ES2015 类变量作用域

javascript - jQuery 验证 : Form is Being Validated Twice

node.js - 在将结果发送到 View 之前,无法更改路由中 MongoDB/MongooseJS 的结果(Node js)

node.js - 如何在appcelerator Alloy中安装和使用NPM包

node.js - React + Material-UI |如何创建横向滚动卡片?

javascript - 如何动态构建javascript对象?

javascript - 通过实例方法使用 JS Classical