保持不同用户的反价值
Keep counter value across different users
我正在制作一个计算作业量的网站,但我很难在不同的电脑上存储计数器值,因为我使用的是本地存储,它只存储在浏览器存储中.有没有办法通过互联网 "save" 价值并从任何电脑访问它?
您可以将计数器保存在文件中。您需要为此使用服务器端语言,这里有一个 PHP 示例。
<?php
$file = fopen("counter.txt", "r+");
flock($file, LOCK_EX); // Block other users
$counter = trim(fgets($file));
$counter++;
rewind($file); // Go back to beginning of the file
fwrite($file, "$counter\n");
fclose($file); // This will unlock the file, too
echo $counter;
我围绕 myjson.com 做了一个小包装,可用于简单存储。
var store = {
create: function(params) {
var def = $.Deferred();
$.ajax({
url: "https://api.myjson.com/bins",
type: "POST",
data: JSON.stringify(params),
contentType: "application/json; charset=utf-8",
dataType: "json"
}).done(function(data) {
def.resolve(data.uri.split('/').pop())
});
return def.promise();
},
update: function(id, params) {
return $.ajax({
url: "https://api.myjson.com/bins/" + id,
type: "PUT",
data: JSON.stringify(params),
contentType: "application/json; charset=utf-8",
dataType: "json"
});
},
get: function(id) {
return $.get("https://api.myjson.com/bins/" + id);
}
}
首先你创建一个实例,并取回一个 ID,你只需要这样做一次就可以设置它并有地方存储数据
store.create({users : 0}).done(function(id) {
console.log(id);
});
确保保存 ID,因为稍后您将使用它来更新刚创建的实例并从中获取数据。
注意传入的对象,就是我们保存的数据,以后可以更新。
现在要获取数据,您只需这样做
store.get(':id').done(function(data) {
console.log(data); // the data you've stored
});
并更新您将要做的数据
store.update('4iln9', {users : 2}).done(function(data) {
console.log(data); // returns the updated data
});
还有一个简单的计数示例 -> http://jsfiddle.net/dcp6e0g0/
我正在制作一个计算作业量的网站,但我很难在不同的电脑上存储计数器值,因为我使用的是本地存储,它只存储在浏览器存储中.有没有办法通过互联网 "save" 价值并从任何电脑访问它?
您可以将计数器保存在文件中。您需要为此使用服务器端语言,这里有一个 PHP 示例。
<?php
$file = fopen("counter.txt", "r+");
flock($file, LOCK_EX); // Block other users
$counter = trim(fgets($file));
$counter++;
rewind($file); // Go back to beginning of the file
fwrite($file, "$counter\n");
fclose($file); // This will unlock the file, too
echo $counter;
我围绕 myjson.com 做了一个小包装,可用于简单存储。
var store = {
create: function(params) {
var def = $.Deferred();
$.ajax({
url: "https://api.myjson.com/bins",
type: "POST",
data: JSON.stringify(params),
contentType: "application/json; charset=utf-8",
dataType: "json"
}).done(function(data) {
def.resolve(data.uri.split('/').pop())
});
return def.promise();
},
update: function(id, params) {
return $.ajax({
url: "https://api.myjson.com/bins/" + id,
type: "PUT",
data: JSON.stringify(params),
contentType: "application/json; charset=utf-8",
dataType: "json"
});
},
get: function(id) {
return $.get("https://api.myjson.com/bins/" + id);
}
}
首先你创建一个实例,并取回一个 ID,你只需要这样做一次就可以设置它并有地方存储数据
store.create({users : 0}).done(function(id) {
console.log(id);
});
确保保存 ID,因为稍后您将使用它来更新刚创建的实例并从中获取数据。
注意传入的对象,就是我们保存的数据,以后可以更新。
现在要获取数据,您只需这样做
store.get(':id').done(function(data) {
console.log(data); // the data you've stored
});
并更新您将要做的数据
store.update('4iln9', {users : 2}).done(function(data) {
console.log(data); // returns the updated data
});
还有一个简单的计数示例 -> http://jsfiddle.net/dcp6e0g0/