JQuery POST 到 NODEJS(快递)

Posted

技术标签:

【中文标题】JQuery POST 到 NODEJS(快递)【英文标题】:JQuery POST to NODEJS (express) 【发布时间】:2021-04-22 09:42:33 【问题描述】:

编辑: Github 上的项目:https://github.com/jackphumphrey/medisearch

我对 NODEjs 很陌生,如果这是一个简单/愚蠢的问题,我很抱歉

我正在尝试发送带有 JQuery ($.post) 的 POST 请求,该请求位于:/public/javascripts/user.js

user.js 在 jquery 之后的 index.html 中调用

index.html 加载正常,但是 $.post 请求发送错误

我认为我的主要问题是我不知道在哪里(如节点中的位置)我想发送发布请求

我的目录: 主文件夹/

公共/index.html & 公共/javascripts/user.js

app.js & 路由/users.js、路由/index.js

user.js(位于 public/)

$.post('/users', JSON.stringify(username : 'data', useremail : 'data@data.com'), function(response, status) 
        
, "json")
    .done(function(response)   
        alert(response);
    )
    .fail(function(xhr, status, error) 
        alert('error: ' + error + ' status: ' + status);
    )
    .always(function(response) 
        console.log('^ RESPONSE: ' + response);
);

users.js(位于 routes/)

var express = require('express');
var router = express.Router();

router.post('/users', function(req, res) 
  var userName = req.body.username;
  var userEmail = req.body.useremail;
  console.log('Username: ' + userName + ' Email: ' + userEmail);
  res.send('Username: ' + userName + ' Email: ' + userEmail);
);

module.exports = router;

我在数字海洋@端口 8080 上运行它

【问题讨论】:

为了将 json 发送到服务器,您还需要设置适当的 Content-type 标头。在服务器端,您还需要一个 bodyParser 我将在哪个文件中以及该文件的哪个位置包含 bodyParser?我发布了 GitHub 链接,因此您可以查看完整的代码,如果有帮助的话。 【参考方案1】:

使用下面的jquery代码:

$("button").click(function()
      $.post("/users",
      
        name: "osasere",
        city: "stack"
      ,
      function(data, status)
        console.log("Data: " + data + "\nStatus: " + status);
      );
);

在你的 app.js 文件中确保使用:

const express = require('express')
const userRouter = require('./routes/users')
const app = express()

app.use(express.urlencoded( extended: false ))

app.use(userRouter)

如果不起作用,请尝试与我联系。

【讨论】:

我已经有了。我发布了指向 GitHub 项目的链接,因此您可以查看完整代码,看看是否有任何错误。

以上是关于JQuery POST 到 NODEJS(快递)的主要内容,如果未能解决你的问题,请参考以下文章

JQuery Post到NodeJS返回MySQL值给出未定义?

POST 中的 nodejs/express 和二进制数据

Firefox 和 nodejs 的 jQuery Ajax POST 错误

在NodeJS中发送不同的POST响应

Nodejs 快递,Heroku CORS

在 NodeJs 中呈现 jquery POST 请求的响应