Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 阿贾克斯表格赢得';t通过php发布表单数据_Javascript_Php_Html_Jquery_Ajax - Fatal编程技术网

Javascript 阿贾克斯表格赢得';t通过php发布表单数据

Javascript 阿贾克斯表格赢得';t通过php发布表单数据,javascript,php,html,jquery,ajax,Javascript,Php,Html,Jquery,Ajax,首先,我不是网络开发者。但我遇到了这个问题,一个朋友试图开发一个网站。他有一个按钮html标记,看起来像: <form id="frm"> <textarea class="form-control" id="message-text" placeholder="Enter Text Here "></textarea> </form> <div

首先,我不是网络开发者。但我遇到了这个问题,一个朋友试图开发一个网站。他有一个按钮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();
                       
                
                }
              
            });
        });
    });
$(文档).ready(函数(){
$(“#btnSend”)。单击(函数(){
$.ajax({
url:“./request.php”,
键入:“POST”,
数据:{message:$(“#message text”).val()},
成功:功能(结果){
$('#resp')。前置('')
$('#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文件。他在本地提供服务,实际上,“成功”功能将在图像弹出的地方工作。但是ajax从不调用POST函数作为响应。我自己也曾试图搞乱它,但我对网络开发并不熟悉。有人知道这里可能出了什么问题吗

提前谢谢。

应该是

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

你试图解决什么问题?这是一个浏览器问题(JS不能按预期工作)还是一个服务器问题(PHP不能按预期工作)?一条建议:让PHP脚本返回一些值,然后在成功处理程序中检查这些值。您当前假设一切正常(您没有以任何方式检查
response
)。根据操作是否完成,您可以发送类似于带有
“success”:true
“success”:false
的简单JSON。我可以让它在png前加上前缀,这一定意味着它成功了,但由于某种原因它没有获取表单数据。所以我猜php正在工作。这与不能发布表单数据有关。我将php改为使用“消息”而不是“消息文本”,但仍然没有写入文件。仍然没有保存到data.txt:(我检查了文件上的权限,只是添加了所有权限,所以没有权限问题。这与apache中本地托管的站点有关吗?我是一个服务器猴子,所以我可以加载服务,但在尝试将html连接到js到php时,我没有任何线索。Hi@tonton您的应用程序中可能存在与权限相关的问题。)服务器
data: {message: $("#message-text").val()},