gpt4 book ai didi

javascript - Ajax 提交不起作用(无法在 php 中读取 $_POST)

转载 作者:行者123 更新时间:2023-11-30 07:53:15 27 4
gpt4 key购买 nike

我正在尝试使用 Ajax 提交我的表单。单击按钮时,将调用 hit() 函数并将 传递 文本框 的内容返回给 test.php

$_POST似乎是空的,因为我从 ajax 收到警报(表单已提交)但我没有看到回显(echo $_POST['textbox'])

test.php

<?php
echo "test";
if($_POST)
{
echo $_POST['textbox'];
}
?>
<html>
<body>
<form action="index.php" method="post" align="center" id="form" name="form">

<script type="text/javascript" src="test2.js"> </script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" type="text/javascript"></script>


<input type="text" class="form-control" id="input" name="input" oninput="check();">
<input type="button" class="form-control" id="send" name="send" value="Send" onclick="hit();">
</form>
</body>
</div>
</html>

test2.js

function hit() {
var inputText = $("#input").val();
var inputTextString = "textbox=" + inputText;
$.ajax({
type: 'post',
url: 'test.php',
data: inputTextString,
success: function () {
alert('form was submitted');
}
});

}

最佳答案

这里有更多的问题

test.php

  • 如何在包含 jquery 之前包含 js 文件 .. 先是先 ..经过测试 是的,您可以使用 jquery $()在函数内部没有得到 $ undefined在包含 jquery 之后运行该函数时出错..对不起我的错
  • 脚本应该在 <head></head> 上或之前 </body>
  • 当您只使用按钮时,请点击为什么要使用 <form>

你的代码应该是这样的

<?php
echo "test";
if($_POST)
{
echo $_POST['textbox'];
return false;
}
?>
<html>
<head>
</head>
<body>
<input type="text" class="form-control" id="input" name="input" oninput="check();">
<input type="button" class="form-control" id="send" name="send" value="Send" onclick="hit();">

<script type="text/javascript" src="test2.js"> </script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" type="text/javascript"></script>
</body>
</div>
</html>

关于test2.js

function hit() {
var inputText = $("#input").val();
var inputTextString = {textbox : inputText}; // use this
$.ajax({
type: 'post',
url: 'test.php',
data: inputTextString,
success: function () {
alert('form was submitted');
}
});
}

注意:对我来说,我更喜欢使用单独的 php 文件来将它与 ajax 一起使用。它会使输出更容易

如果你需要使用一个表单..你可以使用你的表单代码包括我上面的笔记并且让你的提交按钮类型为“提交”并删除onclick="hit()"从它然后在你的 js 文件上你可以使用

$(document).ready(function(){
$('form').on('submit',function(e){
e.preventDefault(); // to prevent form reload
var inputText = $("#input").val();
var inputTextString = {textbox : inputText}; // use this
$.ajax({
type: 'post',
url: 'test.php',
data: inputTextString,
success: function () {
alert('form was submitted');
}
});
});
});

关于javascript - Ajax 提交不起作用(无法在 php 中读取 $_POST),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47662728/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com