gpt4 book ai didi

jquery - 使用 Jquery 进行 POST 并接收来自 Node.js 的响应

转载 作者:太空宇宙 更新时间:2023-11-04 00:11:24 25 4
gpt4 key购买 nike

我正在尝试做一些非常简单的事情,我想使用 AJAX Jquery 向 Node.js 服务器执行 POST 并让服务器返回响应。我的问题是我无法从服务器得到答案。如果有人可以帮助我,我将非常感激。

客户端.js

$(document).ready(function(){
$("button").click(function(){
$.post("http://localhost:3333/vrp",
{
name: "Donald Duck",
city: "Duckburg"
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status); //This section code doesn't execute.
})
.fail(function() {
alert( "error" ); //It's executed this section of code and I can see it in my browser.
});
});
});

服务器.js

var vrp = require("./vrp");
var bodyParser = require("body-parser");
var express = require('express');
var app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.post('/vrp', function(req, res){
console.log(JSON.stringify(req.body)); //Here I can see the message I sent.
res.contentType('json');
res.send(JSON.stringify(req.body));
});

var listener = app.listen(3333, function () {
console.log('Your app is listening on port ' +
listener.address().port);
});

最佳答案

尝试在 server.js 中添加 CORS header ,例如。像这样

app.post('/vrp', function(req, res){
console.log(JSON.stringify(req.body));
res.header("Access-Control-Allow-Origin", "*").send(req.body);
});

如果这次运行,那么您 100% 确定这是 CORS 问题。对于真正的应用程序,您可以使用此解决方案或更复杂的中间件,例如。

app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});

或者你可以使用cors中间件模块https://github.com/expressjs/cors具有更弹性的配置。

关于jquery - 使用 Jquery 进行 POST 并接收来自 Node.js 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49339446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com