我需要在服务器端存储数据。我试图对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。 我将感谢你的帮助。 提前谢谢。
答案 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']);