我有一個使用jQuery AJAX從服務器上的txt文件讀取的問題。基本上,我有3個文件,所有這些文件都在同一個目錄中的服務器上(不會晚點)。一個HTML文件包含一個按鈕,當你點擊它時啓動一個AJAX請求,然後將一個字符串(默認字符串)發送到一個創建txt文件的PHP文件。而且我有另一個HTML文件,它在1500毫秒內具有一個簡單的setInterval,並且它獲得了txt文件的值,如果該值是==='default string',它會使另一個AJAX調用將該文本文件重寫爲空。問題是我總是在setInterval中獲得「默認字符串」,並且只有在瀏覽器中打開txt文件時,HTML2文件中的ajax纔會返回空字符串。這是正常的行爲,還是我失去了一些東西jQuery AJAX調用從txt文件中獲取錯誤的值
HTML文件中插入的默認字符串' https://jsfiddle.net/fc6n07uz/1/
$('button').on('click', function() {
console.log('you clicked');
$.ajax({
url: 'write_to_file.php',
type: 'POST',
data: {insertValue: 'default string'},
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
});
HTML文件,上面寫着,如果字符串爲「默認字符串」 emptyp的txt文件 https://jsfiddle.net/ewtjy66b/1/
setInterval(function(){
$.ajax({
url: 'textfile.txt',
type: 'GET',
dataType: 'text'
})
.done(function(data) {
if(data === 'default string') {
console.log("I got the default string");
$.ajax({
url: 'write_to_file.php',
type: 'POST',
data: {insertValue: ''},
});
}
})
.fail(function() {
console.log("error");
});
}, 1500);
插入文本爲txt文件
PHP文件(必須記住,txt文件不會被PHP創建的,我創建在本地) https://jsfiddle.net/c91jumuw/
<?php
$insertValue = $_POST['insertValue'];
$myfile = fopen("textfile.txt", "w+") or die("error!");
fwrite($myfile, $insertValue);
fclose($myfile);
?>
那麼,爲什麼我總是從HTML2獲得控制檯日誌(執行console.log(「我得到了默認字符串」);),即使我重置txt文件的價值。我知道我重置,因爲我refreshthe在瀏覽器txt文件,它是空的,在那個時候我停止獲得的console.log
工作就像一個魅力,謝謝你! –