如何使用没有ActiveXObject的javascript将数据写入文本文件?

时间:2017-05-10 11:24:33

标签: javascript jquery html

我需要在服务器端存储数据。我试图对PHP进行Ajax调用: upload.html:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<style>
#test{
padding:20px 50px;
background:#ccc;
color:#000;
}
</style>
<script>
$(function(){
$('#test').click(function(){
    $.ajax({
        url: "http://localhost:8012/myFolder/upload.php",
		type : 'POST',
        data: {"foo": "bar"},
        processData: false,
        contentType: 'application/json'
    });

});
});
</script>
</head>
<body>

<button id="test">KLICK</button>


</body>
</html>

upload.php的:

<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w');
fwrite($fh,$_POST['data']);
fwrite($fh,$_POST['foo']);
fwrite($fh,$_POST["foo"]);
fwrite($fh,$_POST[foo]);
fclose($fh);
?>

但它不起作用。数据不会写入testFile.txt。 我将感谢你的帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

不,JavaScript没有写文件的权限,因为这至少可以说是一个巨大的安全风险。

如果你想在服务器端获取/存储信息,你当然可以对PHP / ASP / Python /等进行Ajax调用。然后可以在服务器中获取/存储数据的脚本。如果您的意思是在客户端计算机上存储数据,那么不可能 JavaScript

如果您只是尝试在特定用户的不可靠时间段内存储少量信息,我认为您需要Cookie。

更新:

以下是您正在寻找的简单代码。有一个简单的表单有四个字段。单击提交时,它将调用服务器文件,该PHP文件将具有将数据写入文件的代码。

$("#submit").click(function(){
  var paramsToSend = {};
  var i = 1;
  $("input[name='myanswer[]']").each(function(){
    paramsToSend[i] = $(this).val();
    i++;
  });
  
   $("#dataToSend").html(JSON.stringify(paramsToSend));
   
   $.ajax({
         type: "POST",
         url: 'URL_HERE/post.php',
         data: {params:JSON.stringify(paramsToSend)},
         success: function(data) {
          console.log("SUCCESS!!!");
         }
   });
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="inputsl">
   <div class="inputt"><input type="text" id="createmyanswer" name="myanswer[]" class="myinput"></div>
   <div class="inputt"><input type="text" id="createmyanswer" name="myanswer[]" class="myinput"></div>
   <div class="inputt"><input type="text" id="createmyanswer" name="myanswer[]" class="myinput"></div>
   <div class="inputt"><input type="text" id="createmyanswer" name="myanswer[]" class="myinput"></div>
</div>
<button id="submit">
Submit
</button>

<div id="dataToSend"></div>

PHP代码可以是:

file_put_contents('filename.txt', $_POST['params']);