如何使用ajax将表单内容提交到txt文件。
<input id="form" placeholder="fill out this" type="text">
<button>Submit</button>
AJAX
<script>
$('button').click(function (){
var food = $('#form').val();
$.ajax({
url:'form.php',
type:'POST',
data: food,
});
});
</script>
form.php的
<?php
error_reporting(E_ALL);
$data = $_POST['food'];
$f = fopen('filehere.txt', 'w+');
fwrite($f, $data);
fclose($f);
?>
txt文件一直空白
答案 0 :(得分:1)
您的ajax请求存在问题,更确切地说是data
部分。您可以通过两种方式实现目标。
而不是
data: food,
使用
data: {
food: food
}
HTML:
<form id="myForm">
<input name="myInput" type="text"/>
<button name="submit" type="submit">Submit</button>
</form>
没有什么复杂的,只是HTML中的简单形式。
$('#myForm > button').click(function(e) {
e.preventDefault(); //prevent default behaviour
var formData = $('#myForm').serialize() //serialize data from form
$.ajax({
//everything as before
data: formData
});
});
在此处序列化来自表单的数据。它将与您发送普通表单一样工作。所以现在在PHP中,您可以使用表单名称从$_POST
全局数组中获取数据。例如
$input = $_POST['myInput'];
你的问题是你没有给出&#39;您的数据的名称。您刚刚发送了一个数据,但PHP无法通过名称识别出来。
答案 1 :(得分:0)
AJAX调用错误的类型,你必须发送一个对象。
$.ajax({
url:'test.php',
type:'POST',
data: {food: food}
});