gpt4 book ai didi

javascript - jQuery AJAX 到 Node 服务器抛出 net::ERR_CONNECTION_REFUSED

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:20 26 4
gpt4 key购买 nike

我已禁用防火墙(Ubuntu 15.04 服务器上的 ufw)。这似乎是此问题的最常见原因。

此外,有些人在使用 AJAX 时遇到问题,因此我尝试使用 ajax 和 https POST 请求。我的代码如下:

jQuery 发出请求:

testData = {
email : address,
subject : subject,
body : body,
meetingId : meetingId
};

testData = JSON.stringify(testData);

$.ajax({
url: "https://localhost:3000/sendICSInvite",
contentType: "application/json; charset=utf-8",
data: testData,
type: "POST",
success: function(result) {
console.log("request might have worked");
console.log(result);
},
error: function (err) {
console.log(err);
}
});

前往路线:

var api = require("../controllers/main.js");

//API ROUTES
module.exports = function(app){
app.post('/sendICSInvite', api.sendEmail);
};

Controller :

module.exports.sendEmail = function (req, res) {
console.log("sending Email (probably not actually)");
});

这可以用 postman 调用并且工作完美。然而,当我从 jQuery 进行调用时,它失败并返回错误:

OPTIONS https://localhost:3000/sendICSInvite?email=myemail%40myprovider.com&subject=TE…+emails&body=Just+testing+the+function+for+autmoated+email&meetingId=33033 net::ERR_CONNECTION_REFUSEDsend 
@ jquery.js:4m.extend.ajax
@ jquery.js:4sendEmail
@ caseman.js:706(anonymous function)
@ VM4606:2InjectedScript._evaluateOn
@ VM4491:875InjectedScript._evaluateAndWrap
@ VM4491:808InjectedScript.evaluate
@ VM4491:664

似乎与 OPTIONS 请求相关(我不知道它发送到哪里,我在 ajax 中指定了 POST 类型),这导致我在 Node 服务器中找到了这个建议的解决方案:

app.use(function(req, res, next) {  
res.header('Access-Control-Allow-Origin', "*");
res.header('Access-Control-Allow-Methods',"GET,PUT,POST,DELETE,OPTIONS");
res.header('Access-Control-Allow-Headers', "*");
next();
});

但即使使用此中间件功能,错误仍然相同。 Node 服务器在使用 VMware Workstation 并运行 Ubuntu 15.04 服务器版本的虚拟机上的端口 3000 上运行。包含我想要发出此请求的 jQuery 的网站是通过端口 80 上的 Perl 脚本提供服务的。

最佳答案

数据:JSON.stringify(testdata),

这可能是你的问题。您需要序列化您的 json 对象。并且您需要在选项中将 .ajax 调用设置为 POST 类型,否则它将默认为 get。

关于javascript - jQuery AJAX 到 Node 服务器抛出 net::ERR_CONNECTION_REFUSED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34731799/

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