我在尝试在我的应用程序中执行 POST 请求时遇到问题,我进行了很多搜索,但没有找到解决方案。
所以,我有一个 nodeJS 应用程序和一个网站,我正在尝试使用来自该站点的表单进行 POST 请求,但我总是以这种方式结束:
在控制台中我看到:
Uncaught TypeError: Cannot read property 'value' of null
Post "http://name.github.io/APP-example/file.html " not allowed
在这行代码中:
文件.html:
<form id="add_Emails" method ="POST" action="">
<textarea rows="5" cols="50" name="email">Put the emails here...
</textarea>
<p>
<INPUT type="submit" onclick="sendInvitation()" name='sendInvitationButton' value ='Send Invitation'/>
</p>
</form>
<script src="scripts/file.js"></script>
文件.js:
function sendInvitation(){
var teammateEmail= document.getElementById("email").value;
我阅读了许多帖子和跨域文档,但没有奏效。研究来源 1:http ://enable-cors.org/server.html 研究来源 2:http ://www.w3.org/TR/2013/CR-cors-20130129/#http-access-control-max-年龄
我现在在做什么:
我正在尝试从我的服务器的不同域发布:
发布请求: http ://name.github.io/APP-example/file.html,github 存储库
POST LISTENER : " http://xxx.xxx.x.xx:9000/email , 服务器 localhost ( x-> 我的 ip 地址)
所以,我在其他文件中遇到了同样的问题,但我修复了它,将这段代码放在每条路线的开头:
var express = require('express');
var sha1 = require('sha1');
var router = express.Router();
var sessionOBJ = require('./session');
var teams = {}
var teamPlayers = []
router.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT, GET,POST");
next();
});
我修好了它。
现在,我遇到了同样的问题,但在这个文件中,唯一的区别是我处理 SMTP 和电子邮件,所以我发布了一封电子邮件,并向我在 POST 请求中收到的这封电子邮件发送了一封电子邮件。
该代码与 POSTMAN 完全兼容,因此,当我使用 POSTMAN 进行测试时,它可以正常工作并且我可以发布。
我在下面包含了这段代码,而不是我展示的第一个代码,但它并没有很好地工作:
router.all('*', function(req, res, next){
res.header("Access-Control-Allow-Origin", "*")
res.header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
res.header("Access-Control-Allow-Headers", "Origin, Content-Type, Accept")
res.header("Access-Control-Max-Age", "1728000")
next();
});
有人知道如何解决吗?
谢谢你。