2013-11-21 32 views
0

使用jquery AJAX從服務器文件讀取一個數字,增加數字,然後將數字寫回服務器文件。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> 

回答

1

作爲客戶端方法的Ajax無法寫入服務器上的文件。

您需要一些PHP,ASP,Python等中間件來修改發佈的數據並寫入文件。

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!"); 
    } 
}); 

此外,你應該只需要調用一些服務器端PHP方法通過Ajax,因爲你不能在服務器上通過JavaScript設置任何東西。 所以「後」的Ajax網址應該看起來像 url:'http://www.server.ca/set_vars?var=var_title&value='+ encodeURIcomponent(計數器)

+0

謝爾蓋,這是一個很好的答案......但你需要正確地格式化你的代碼。請在每行前加上4個空格,並附上代碼。 – screenmutt

相關問題