如何使用GET方法向Node js服务器发送数据?

问题描述 投票:0回答:1

我正在使用 get 方法并尝试使用 jQuery ajax 调用将数据发送到我的

nodejs
服务器。

这是我发送数据到

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");
            }
        })
    }
})

在我的 Node 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个回答
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);
})
© www.soinside.com 2019 - 2024. All rights reserved.