2013-11-21 3 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 на сервере. Так что «пост» URL Ajax должно выглядеть URL: «http://www.server.ca/set_vars?var=var_title&value=» + encodeURIcomponent (счетчик)

+0

Сергей, это хороший ответ ... но вам нужно форматировать вам код правильно. Просьба поставить 4 пробела перед каждой строкой с кодом на нем. – screenmutt

Смежные вопросы