0

目前我正在开发静态 HTML 网站。现在我正在使用以下 javascript 代码来读取服务器端文本文件:

<!DOCTYPE html>
<html>
<head>
<script>
    function loadXMLDoc() {
        var xmlhttp;
        if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        }
        else {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "results.txt", true);
        xmlhttp.send();
    }
</script>
</head>
<body>

<div id="myDiv"><h2>content</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html> 

此处仅显示单击事件数据。但是现在我想更改单击事件上文本文件的内容。我想将驻留在文件中的数字加 1 作为内容。

请帮助我做到这一点......提前非常感谢你。!

编辑:

我正在使用 Windows 托管。

4

1 回答 1

0

你可以这样做

这是索引页。我已经在 J​​SP 中完成了。

索引.jsp

<!DOCTYPE html>
<html>
<head>
<script>
    function loadXMLDoc() {
        var xmlhttp;
        if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        }
        else { // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET", "newjsp.jsp", true);
        xmlhttp.send();
    }
</script>
</head>
<body>
    <div id="myDiv">
        <h2>content</h2>
    </div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
</html> 

然后是服务器端编码

新jsp.jsp

<%@page contentType="text/html" pageEncoding="UTF-8" import="java.io.*"%>
<%
    try { 
        BufferedReader in = new BufferedReader(new FileReader("C:/Users/sar/Documents/NetBeansProjects/WebApplication1/web/results.txt"));
        // change the path to the txt file
        String line;
        int a = 0;
        if((line = in.readLine()) != null)
            a = Integer.parseInt(line)+1;
        else
            a = 1;   
        PrintWriter pw = new PrintWriter(new FileOutputStream("C:/Users/sar/Documents/NetBeansProjects/WebApplication1/web/results.txt"));
        // change the path to the txt file
        pw.println(a);
        pw.close();
        out.println(a);
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
%>

您必须results.txt在指定的位置创建一个文件。

于 2013-08-10T07:06:02.547 回答