【问题标题】:How to fetch a .txt file from a different domain from server side javascript and get it client side如何从服务器端 javascript 从不同的域中获取 .txt 文件并在客户端获取它
【发布时间】:2015-06-16 15:18:39
【问题描述】:

我正在尝试从没有 CORS 或网络服务的不同域上的网络服务器获取 .txt 文件。我想我需要在服务器端使用 Node.js 和 JQuery 来完成,但我不知道从哪里开始。我目前受到 Node 和 JQuery 的挑战。

文件位于此处http://epec.saw.usace.army.mil/dsskerr.txt

【问题讨论】:

  • 这就是你的做法:gyazo.com/5d6e71efcd53d47c5a5bd9d4345cd4fe。对您的服务器 nodejs 脚本的 AJAX 请求。该脚本向其他服务器发出另一个请求以加载文本文件。您的域节点应用程序使用加载的内容响应 AJAX 请求。
  • @dfsq 请不要在评论中发布图片链接!

标签: javascript jquery node.js


【解决方案1】:

为此,您需要编写一个小的 Node 应用服务器端。

var express = require("express"),
    app = express(),
    request = require("request");

var port = process.env.VCAP_APP_PORT || 8080;

app.use(express.static(__dirname + '/public'));

app.listen(port);

app.get("/data", function (req, res) {
    request.get("http://epec.saw.usace.army.mil/dsskerr.txt").pipe(res);
});

在客户端,您可以执行以下操作。

<html>
    <head>
        <title>Simple app to fetch a txt file</title>
    </head>
    <body>
        <h2>simple app to fetch a txt file through a node server to get around CORS</h2>
        <div class="data"> </div>
        <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
        <script>
            $(function() {
                $.get("/data", function(data) {
                    console.log(data);
                    $(".data").append(data);
                });
            });
        </script>
    </body>
</html>

这是一个完整的 git repo 以及解决方案。 https://github.com/jsloyer/node-fetch-txt-file.

此外,您可以通过单击下面的按钮将解决方案部署到 Bluemix。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-02
    • 2012-10-31
    • 2015-01-10
    • 2018-10-05
    • 2018-08-20
    • 1970-01-01
    • 2021-05-06
    • 2017-11-20
    相关资源
    最近更新 更多