【问题标题】:Reading in text from a text file using java / jquery without a webserver在没有网络服务器的情况下使用 java / jquery 从文本文件中读取文本
【发布时间】:2015-04-30 18:56:56
【问题描述】:

我已经使用 jQuery.Get() 以及 $.Get() 方法来执行此操作,但这似乎不起作用。

<head>

<script type="text/javascript" src="jquery-2.1.3.min.js" > </script>

    <script language="javascript">
    function Read()
    {
        alert("start"); 
        jQuery.get('/spec.txt', function(result) 
            { 
                    alert("get");
            if (result == 1) 
                {
alert("1");
                    $("body").html("<p>Specials</p>");
                    document.getElementById("specials").innerHTML = "<H1>Specials</H1>";
                }

else if(result == 0) 

                {
alert("2");
                    $("body").html("<p>No Specials</p>");
                    document.getElementById("specials").innerHTML = "<H1>No Specials</H1>";
                }
            });
    }
    </script>
    </head>

<body>

<button onclick="Read()">Specials</button>

<div id="specials">

</div>

</body>
</html>

我想在我的 webroot 文件夹中有一个文本文件,它只包含 1 或 0 的值。这将用于确定是否有特价商品(此文本文件将从另一个页面更改)。这个文本文件的值将被读入网页,这将决定 if 语句被编程的操作过程。我附上了我目前用来执行此操作的代码,但我似乎无法让 $.get() / jQuery.get() 执行。您会注意到我正在使用 alert() 方法检查代码中的步骤,但它不会在 jQuery.get() 之后立即执行 alert("get")。

我没有使用我认为是问题的网络服务器。我只是在 webroot 文件夹中的硬盘上运行 index.html。 IF 语句将根据从名为 spec.txt 的文本文件中读取的值触发

请记住,我是使用 jQuery 和 Java 进行 Web 编码的新手,但我擅长简单的 HTML / CSS 编码。这是我第一次尝试像这样的动态网页内容,而不是静态网站。如果这有助于您的回答,该网站最终将托管在网络服务器上。

【问题讨论】:

  • 如果您打算稍后在 Web 服务器上运行它,为什么不简单地安装一个 Web 服务器呢?使用 Xampp 之类的工具,只需单击 2 或 3 次即可。
  • 如果你没有服务器,你的 webroot 是什么?一些名为 webroot 的文件夹?
  • 最后:你应该很高兴没有人可以在不使用病毒的情况下从另一个页面写入/更改硬盘上的文件。

标签: java javascript jquery html


【解决方案1】:

您不能从 file:// 协议发出 ajax 请求。这是一个安全限制。

使用 file:// 加载的文件始终被视为来自不同的域,您无法绕过此功能。

但是...如果您正在使用 chrome 并且只是想在本地测试它以便稍后放入网络服务器,您可以通过在不安全模式下运行 chrome 来禁用此功能

 path/to/chrome.exe  --disable-web-security

如果您使用的是火狐。您可以输入您的网址 about:config 然后转到

 security.fileuri.strict_origin_policy -> false

只可以用于本地测试。不要指望您的应用程序的用户也会禁用它,否则您将造成严重的安全问题。请注意,您正在禁用所有浏览器安全性,它将为恶意程序打开

只需安装一个简单的网络服务器,玩得开心!

【讨论】:

  • 你是对的,我会投票赞成你的答案。但是你不觉得给一个完全不知道自己在做什么的人提供这样的建议很危险吗?
  • 我也这么认为。无论如何,这只是一个信息。但我更新了我的答案,以便更深入地了解安全
猜你喜欢
  • 2016-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-24
  • 2014-04-29
  • 2022-01-18
  • 1970-01-01
  • 2012-11-28
相关资源
最近更新 更多