【问题标题】:Not getting response when sending post request to node server向节点服务器发送 post 请求时没有得到响应
【发布时间】:2013-11-01 07:02:43
【问题描述】:

我正在使用带有节点 js 的 Express。如果我在不同的主机或服务器上运行我的 HTML 模板(除了我的应用程序正在运行的那个),那么我不会得到任何响应。

如果我从托管在同一服务器上的文件向节点服务器发出 post 请求,那么它会成功给出 JSON 响应。

我想创建一个 REST API 应用程序,这样每个人都可以发布请求并使用响应数据。

我的 HTML 文件代码(在节点服务器本地运行):

<script type="javascript">
function submitit() {
    var name = $('#name').val();
    var id = $('#pw').val();
    var obj = {
        name: name,
        id: id
    };
    //posting on node server
    $.post('http://localhost:3001/user', {
        data1: obj
    }, function (data, status) {
        alert(data);
        //window.location.href = "http://google.com";
    }, 'json')
}
</script>
<body>
    <h1 class="hone">Log in to site.</h1>
    <form method = "post" id="yourform">
        user id :<input type="text" id='name' name="userid" /><br />
        password :<input type="text" id='pw'  name="password" /><br />
    </form>
    <input id="formsubmit" type="button" onclick='submitit();' value="login" /><br />
    <div id="flash"></div>
</body>

节点服务器上的app.js:

app.post("/user", function (req, res) {
    console.log("ok");
    //var h=req.params.name;
    var user = {
        "name": "sdf",
        "add": "f"
    };
    //var r = req.body.name;

    console.log(user);
    console.log(req.body.data1);
    res.json(user);
});

如果我从同一主机请求,这工作正常,但如果从文件发送请求到不同的机器,它就不起作用。

【问题讨论】:

  • 您正在更改 url (http://localhost:3001/user) 以反映服务器的更改,对吗?另外,也许您的其他服务器正在阻止传入流量?你的应用没有明确地监听127.0.0.1
  • 我的两台服务器都在不同的端口上运行..!我想进行交叉沟通。

标签: node.js express


【解决方案1】:

得到解决方案,只需要添加中间件进行跨域通信

将波纹管中间件添加到您的 app.js 或脚本代码中。

var allowCrossDomain = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    res.header('Access-Control-Allow-Headers', 'Content-Type');

    next();
}

app.use(allowCrossDomain);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    相关资源
    最近更新 更多