【问题标题】:Express not receiving jquery post requestExpress没有收到jquery post请求
【发布时间】:2017-04-14 16:48:05
【问题描述】:

我在客户端使用了 express 服务器和 jquery。我通过 jquery post 方法向服务器发送了一个 post 请求,但它甚至没有在服务器上注册。

这是相关的服务器代码:

var express=require("express");
var path=require("path");
var bodyParser=require("body-parser");
var app=express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
  extended: true
})); 
app.post("/tru",function(req,res){
console.log("Ok done"); //This never gets logged.
console.log(req.body.messag);
});

这是客户端代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<form id="sef"><input id="ae" placeholder="Enter Something"></form>
</script>
<script type="text/javascript">
$(document).ready(function(){
$("#sef").submit(function(){
$.post("localhost:3000/tru",{messag:$("#ae").val()});
});
});

</script>

那么,错误是什么?

编辑 - 解决了问题。只需将 $post 方法更改为:

se=$("#ae").val();
$.post("/tru",{messag:se});

显然,jquery 无法识别 localhost。

感谢您的帮助!

【问题讨论】:

  • 试试$("#sef").on("submit"...
  • 还有$.post("/tru")
  • 是的,你是对的。
  • 服务器端代码是否完整?因为您还没有正确设置服务器。
  • @Tolsee 是的,服务器已完成。这只是与问题相关的服务器代码部分。

标签: javascript jquery express post


【解决方案1】:

您是否将服务器设置为侦听端口 3000。

app.listen(3000, function(){
  console.log('Server listen on 3000');
});

【讨论】:

  • 是的。服务器还发送 index.html 文件,因此服务器肯定在 3000 运行
猜你喜欢
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 2020-11-24
  • 2021-03-17
  • 1970-01-01
  • 1970-01-01
  • 2018-02-07
  • 2015-09-18
相关资源
最近更新 更多