javascript - 如何使用 javascript 在没有 ActiveXObject 的情况下将数据写入文本文件?

标签 javascript jquery html

我需要在服务器端存储数据。我尝试对 PHP 进行 Ajax 调用: 上传.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>

上传.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。 我会感谢你的帮助。 提前致谢。

最佳答案

不,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']);

关于javascript - 如何使用 javascript 在没有 ActiveXObject 的情况下将数据写入文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43891077/

相关文章:

javascript - 如何更新子窗口?

html - 根据没有 tds 的单独表格的条件设置 div 样式

javascript - Firebase secret 身份验证返回空负载

javascript - 创建 Angular 树控件时使用 json 作为数据源

javascript - 将变量中的所有字符串 "<"和 ">"替换为 "&lt;"和 "&gt;"

javascript - 您可以按字母顺序排列从 JSON 文件动态创建的 jQuery 列表吗?

javascript - 检查 <ul> 标签内是否存在图像

Php变量不保存数据

c# - 如何根据 div 类在 div 内部的 c# 代码中创建 img 标签?

javascript - AngularJS $watch 函数重复调用 - 如何防止它