$(document).ready(function() {
var users = (function () {
var users = null;
$.ajax({
'async': false,
'global': false,
'url': 'http://toriya8.ru/new-year/users.json',
'dataType': "json",
'success': function (data) {
users = data.users_value;
}
});
return users;
})();
$('#counter-number').text(users*=1000);
});
但我想在点击时增加users_value。 (这将是未来的表格发送)。 我试过这个:
$('.counter').click(function() {
$.ajax({
url: 'http://toriya8.ru/new-year/users.json',
type: 'POST',
data: {increment: true},
success: function() { console.log('Request has returned') }
});
});
而且:
$('.counter').click(function() {
$.ajax({
url: 'http://toriya8.ru/new-year/users.json',
type: 'POST',
success: function(data) {
data.users_value += 1;
console.log('Request has returned')
}
});
});
两者都会触发控制台消息,但不会更改JSON文件中的数据。
这是我的users.json文件:
{
"users_value" : 3
}
P.S。在Stackoverflow上找到很多信息,但没有任何帮助。
答案 0 :(得分:0)
所以我终于找到了答案。真的我完全忘记了服务器端。 这是一个解决方案:
JS:
$(document).ready(function() {
var users = (function () {
var users = null;
$.ajax({
'async': false,
'global': false,
'url': 'http://toriya8.ru/new-year/users.json',
'dataType': "json",
'success': function (data) {
users = data.users_value;
}
});
return users;
})();
$('#counter-number').text(users*=1000);
$('.counter').click(function() {
$.post("parser.php",{ajax: true});
});
});
PHP:
<?php
$jsonString = file_get_contents('users.json');
$data = json_decode($jsonString, true);
$data['users_value'] += 1;
$newJsonString = json_encode($data);
file_put_contents('users.json', $newJsonString);
?>
和JSON:
{
"users_value" : 3
}