[英]Saving a file (to server) via javascript
我有一个JS游戏(在HTML页面上),我想每次有人玩时都创建一个日志文件,以便我可以记录他们的得分和他们玩的时间等内容。
我知道JS是一种客户端语言,那么如何将文件保存到服务器呢? 是否可以在我的JS中插入一些.php来完成这样的事情? 或者,还有更好的方法?
谢谢!
为了将数据发送到服务器,您必须发出HTTP请求。 (从JavaScript发出HTTP请求而不离开页面称为Ajax )。 对于这种情况,通常使用XMLHttpRequest对象来完成。 然后,您需要一个服务器端程序(可以用PHP编写)来处理请求并保存数据。 为避免担心文件锁定等问题,应考虑使用数据库而不是平面文件。
我在项目中或多或少都这样做(这里是基础知识,当然会根据项目,错误检查等而更高级)
javascript
function doLog(somedata) {
$.ajax({
url: "ajax_log.php",
//data, an url-like string for easy access serverside
data : somedata,
cache: false,
async: true,
type: 'post',
timeout : 5000
});
}
在大多数情况下,我在服务器端使用一个类,该类将来自somedata的每个元素作为行插入某些日志表中,例如,具有id和timestamp的表log
,以及具有id和param / value的表logParams
。 但这是从统计学上来说的。 有时只需要在文件中记录一些数据
<?
$file="log.txt";
$text=serialize($_POST);
$fh = fopen($file, 'a') or die();
fwrite($fh, $text."\n");
fclose($fh);
}
?>
因此,使日志系统由JS执行非常容易,并且几乎不难实现其中的任何内容
您很可能必须对服务器进行AJAX调用。 从那里,您的PHP代码或您要使用的任何服务器端脚本语言将负责创建日志文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.