Javascript 我如何路由express以在单击按钮时提供JSON数据?

Javascript 我如何路由express以在单击按钮时提供JSON数据?,javascript,node.js,json,ajax,express,Javascript,Node.js,Json,Ajax,Express,我有一个带有id='download'的按钮,单击后,我希望它转到一个服务JSON数据的API端点(我是新的,我想这就是所谓的端点)。我试图向url发出AJAX post请求:/api/data: export_data=[{obj1},{obj2}]; $(“#下载”)。在(“单击”上,函数(){ $.ajax({ 键入:“POST”, url:“/api/data”, 数据:导出数据, 成功:{} }); }) 然后由express处理: app.post('/api/data',函数(r

我有一个带有
id='download'
的按钮,单击后,我希望它转到一个服务JSON数据的API端点(我是新的,我想这就是所谓的端点)。我试图向url发出AJAX post请求:
/api/data

export_data=[{obj1},{obj2}];
$(“#下载”)。在(“单击”上,函数(){
$.ajax({
键入:“POST”,
url:“/api/data”,
数据:导出数据,
成功:{}
});
})
然后由express处理:

app.post('/api/data',函数(req,res){
var server_data=http.createServer(函数(req,res){
res.writeHead(200,{'Content-Type':'application/json'});
export_data=req.body.data;
res.send(JSON.stringify(export_data));
})
});
我不知道为什么,但它不起作用

我希望输出类似于以下api: 它提供了当前太空宇航员的json信息。

您可以使用Axios。 导入Axios-like

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

这不是对问题的有用描述,但是…
[{obj1},{obj2}]
数据的错误格式,您没有定义
ob1
obj2
,因此您将在那里得到一个异常,
成功:{}
不会做任何事情,并且您没有身体解析中间件!我猜您正在创建一个服务器作为POST请求的响应。删除这个
var server\u data=http.createServer
,只返回响应。错误显示:“POST net::ERR\u EMPTY\u response send@jquery-3.5.1.min.js:2 ajax@jquery-3.5.1.min.js:2(匿名)@index.js:74 dispatch@jquery-3.5.1.min.js:2 v.handle@jquery-3.5.1.min.js:2”
$("#download").on("click", function () {
    axios.post("url",export_data).then((response)=>{
        //response.data will contain the json sent by api
    }
}