使用java / jquery从文本文件中读取文本而不使用Web服务器

时间:2015-02-09 13:56:25

标签: java javascript jquery html

我已经使用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()之后立即执行警报(&#34; get&#34;)。

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

的文本文件中读入的值触发

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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

 security.fileuri.strict_origin_policy -> false

仅适用于本地测试。不要期望您的应用程序的用户也禁用它,否则您将创建一个大的安全问题。请注意,您正在禁用所有浏览器安全性,并且它将针对恶意程序打开

只需安装一个简单的Web服务器即可享受乐趣!