【问题标题】:Node.js - pass parameter to endpoint from clientNode.js - 将参数从客户端传递到端点
【发布时间】:2020-07-10 14:08:39
【问题描述】:

我在 HTML 页面上有一个文本框和一个按钮。我希望客户端能够将任何目录的路径传递给服务器,然后服务器以目录内容进行响应。

我认为问题出在 var folderToBeRead 中。我尝试使用 document.queryselector 传递 textbox.value,但终端显示“文档未定义”

//服务器

const express = require('express');
const app = express();
var cors = require('cors');
var fs = require('fs');

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    next();
  });

var folderToBeRead = './folder' //I want this to be the chosen path from client


fs.readdir(folderToBeRead , function (err, files) {
  app.get('/dir',(req,res) => {
    res.json(files);
  });
});

app.listen(5000);

//客户

var url_data = 'http://localhost:5000/dir';



function show(){
    $.ajax({
        url: url_data,
        type: "GET",
        dataType: "json",
        header: "Access-Control-Allow-Origin",
        success: function (response) {
            response.forEach(elemento => {
                $("#content").append(`<p>${elemento}</p>`);
            });
            $('#btn1').css({display:'none'});
            $('#btn2').css({display:'block'});
        },
        error: function (xhr, status) {
            console.log("error");
        }
    });
};


    function hide(){
        $("#content").html(``);
        $('#btn2').css({display:'none'});
        $('#btn1').css({display:'block'});
    };

【问题讨论】:

  • 首先,我在您的客户端调用中没有看到任何 pssed 到服务器的数据,并且当您向服务器发送数据时,它应该是 POST 而不是获取。

标签: javascript node.js server directory client


【解决方案1】:

首先,我在您的客户端调用中没有看到任何传递给服务器的数据,并且当您向服务器发送数据时,它应该是 POST 而不是 get。

尝试:

$.ajax({
    url: url_data,
    type: "POST",
    data: "YOUR_DATA_HERE",
    dataType: "json",
    header: "Access-Control-Allow-Origin",
    success: function (response) {
        response.forEach(elemento => {
            $("#content").append(`<p>${elemento}</p>`);
        });
        $('#btn1').css({display:'none'});
        $('#btn2').css({display:'block'});
    },
    error: function (xhr, status) {
        console.log("error");
    }
});

另外你为什么使用 json 来传递单个字符串?

【讨论】:

    猜你喜欢
    • 2016-06-17
    • 2016-11-28
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    相关资源
    最近更新 更多