【问题标题】:how to send data to the node js server using GET method?如何使用 GET 方法将数据发送到节点 js 服务器?
【发布时间】:2021-06-17 17:43:48
【问题描述】:

我正在使用 get 方法并尝试将数据发送到我的nodejs 服务器

使用 Jquery ajax 调用 这是我向node发送数据的代码

 $(document).ready(function(){
    usid();
function usid(med){
  console.log("I am In");
  var f = "my new name";
  $.ajax({
    crossDomain: true,
    url:"http://localhost:8080/listUsers",
    method:"GET",
    data:{med:med,f:f},
    success:function(data,status){
      console.log("send");
    }
  })
}
 })

在我的节点 js 服务器中,我试图获取这些数据 这是我的节点 js 代码

var express = require('express');
var bodyParser = require('body-parser');
const path = require("path");
var cons = require('consolidate'); 
var cors = require('cors');
const jsdom = require('jsdom')
const dom = new jsdom.JSDOM("")
const params = require('params');
const jquery = require('jquery')(dom.window)
var app = express();
app.use(cors())
app.engine('html', cons.swig)
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
app.use(bodyParser.urlencoded({extended:false}));
app.use(express.static(path.join(__dirname, "www")));
app.get('/listUsers', function (req, res) {
res.render('try');
    var f = (req.body.f);
    console.log("hello" + f);
})
var server = app.listen(8080, function () {
   var host = server.address().address
   var port = server.address().port
   console.log("Example app listening at http://%s:%s", host, port)
})

但在我的控制台中,我遇到了未定义的错误

你能告诉我我在这里缺少什么吗??

【问题讨论】:

    标签: jquery node.js methods get node-modules


    【解决方案1】:

    GET 请求没有正文 (req.body)。您可以将请求更改为 POST,然后您将拥有一个正文,或者您可以使用 queryString。这是一个例子https://nodejs.org/en/knowledge/HTTP/clients/how-to-access-query-string-parameters/

     $.ajax({
        crossDomain: true,
        url:"http://localhost:8080/listUsers?med=" + med + "&f=" + f,
        method:"GET",
        success:function(data,status){
          console.log("send");
        }
      })
    

    然后在服务器上

    app.get('/listUsers', function (req, res) {
        var f = (req.query.f);
        console.log("hello" + f);
    })
    

    【讨论】:

    • 如果我想在我的 URL 中添加一个变量怎么办:就像我试过这个` // url:"localhost:8081/join"+roomId"?med=" + med + "&f=" + f,` 但它不起作用你也可以帮忙吗?@tanner burton
    • 可以通过路径参数geeksforgeeks.org/reading-path-parameters-in-node-js'localhost:8081/join/:roomId?med=med1&f=f1'来完成
    • jquery-3.6.0.js:10109 GET http://localhost:3000/join/:roomId?med=undefined&f=my%20new%20name 500 (Internal Server Error) 收到此错误@tanner burton
    猜你喜欢
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    相关资源
    最近更新 更多