Jquery AJAX将变量发布到服务器文件

时间:2013-11-21 17:27:38

标签: javascript html ajax jquery

使用Jquery AJAX从服务器文件中读取数字,递增数字,然后将数字写回服务器文件。

我可以正常读取文件,我只是无法发布到文件中。

<script>
var counter = -1;

$.ajax({
    type:    "GET",
    url:     "counter.txt",
    success: function(text) {
    counter = text;
    counter++;
        $("#count").html(counter);
    },
    error:   function() {
        $("#count").html("Error!");
    }
});

$.ajax({
    type:    "POST",
    url:     "counter.txt",
    data:    counter,
    success: function() {
    },
});
</script>

2 个答案:

答案 0 :(得分:1)

作为客户端方法的Ajax无法写入服务器上的文件。

你需要一些PHP,ASP,Python等中间件来修改已发布的数据并写入文件。

答案 1 :(得分:0)

由于Ajax是异步的,这段代码

$.ajax({
    type:    "POST",
    url:     "counter.txt",
    data:    counter,
    success: function() {
    },
});

将在您从服务器获得第一个号码之前执行。您需要将此代码放在“成功”函数

$.ajax(
    type:    "GET",
    url:     "counter.txt",
    success: function(text) {
        counter = text;
        counter++;
        $("#count").html(counter);
        $.ajax({
            type:    "POST",
            url:     "counter.txt",
            data:    counter,
            success: function() {
            },
        });
    },
    error:   function() {
        $("#count").html("Error!");
    }
});

另外,你应该通过Ajax调用一些服务器端的php方法,因为你不能通过服务器上的JavaScript设置任何东西。 所以“post”Ajax URL应该是这样的 url:'http://www.server.ca/set_vars?var=var_title&value='+ encodeURIcomponent(counter)