简单的ajax php提交表单

时间:2017-12-25 23:19:22

标签: php ajax

如何使用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文件一直空白

2 个答案:

答案 0 :(得分:1)

您的ajax请求存在问题,更确切地说是data部分。您可以通过两种方式实现目标。

1。编辑现有代码

而不是

data: food,

使用

data: {
  food: food
}

2。在我看来更优雅

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}
});
相关问题