繁体   English   中英

Ajax 表单不会通过 php 发布表单数据

[英]Ajax form won't post form data via php

首先,我不是 web 开发人员。 但是我遇到了一个尝试开发网站的朋友的问题。 他有一个按钮 html 标签,如下所示:

<form id="frm">

    <textarea class="form-control" id="message-text" placeholder="Enter Text Here "></textarea>

</form>



<div class="col-md-4 text-center" id="btndiv"> 
<button type="button" id="btnSend" class="btn btn-primary mr-auto">Send</button>
</div>

还有一个使用 ajax 的 javascript 文件:

$(document).ready(function () {
        $("#btnSend").click(function () {
            $.ajax({
                url: './request.php',
                type: 'POST',
                data: {message: $("#message-text").val()},
                success: function (result) {
                    $('#resp').prepend('<img id="theImg" src="./success/qr.png" />')
                       $('#frm').hide();
                       $('#btndiv').hide();
                       
                
                }
              
            });
        });
    });

还有一个 request.php 文件:

<?php
              
if(isset($_POST['message-text']))
{
$data=$_POST['message-text'];
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . 'data.txt', 'a');
fwrite($fp, $data);
fclose($fp);
}
?>

他的目标是让服务器将表单内容写入服务器根目录中的 data.txt 文件。 他在本地提供服务,实际上“成功” function 将在图像弹出的地方工作。 但是 ajax 从不调用 POST function 作为响应。 我试图自己弄乱它,但我不熟悉 web 的开发。 有人知道这里有什么问题吗?

提前致谢。

它应该是。

<?php
              
if(isset($_POST['message']))
{
$data=$_POST['message'];
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . 'data.txt', 'a');
fwrite($fp, $data);
fclose($fp);
}
?>

原因是您在 javaScript 文件中传递 object 是“消息”。

data: {message: $("#message-text").val()},

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM