用post传递数据给php文件,PHP 总undefined

滴滴咚咚咚 2019-08-07 05:25:04
初学php遇到问题好多
//

//html代码
<div class="container">
<form>
<div class="form_group">
<label>用户名</label>
<input class="form-control username" type=" " name="">
</div>
</form>
</div>
<button onclick="sendMessage()" class="">确认</button>


<script>
function sendMessage(){
let username = $(".username").val();
console.log(username);//能正确打印
$.ajax({
url:'newWork.php',
type:'post',
data:{
'username':username
},
dataType:'json',
success:function(res){
console.log(JSON.stringify(res))
$(".text").text(res);
},
error:function(err){
console.log(JSON.stringify(err));
}
})
}
</script>
//传递正确



//php代码
$username= $_POST["username"];
echo $username;

//提示undefined


为什么php后台总是undefined
...全文
918 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
bailixia520 2019-08-29
  • 打赏
  • 举报
回复
php文件头部增加 error_reporting(0); 或者把$username= $_POST["username"];改成$username= $_POST['username'];
number123456 2019-08-20
  • 打赏
  • 举报
回复
楼主是用什么框架了吗?怎么能$_POST为空呢
IT菜鸟进山 2019-08-20
  • 打赏
  • 举报
回复
目测代码没问题,不确认接收参数的文件名、路径是否正确?
滴滴咚咚咚 2019-08-14
  • 打赏
  • 举报
回复
引用 7 楼 Kevin_双子 的回复:
我这样做的楼主可以去试试: <!--html页面--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div class="container"> <form action="http://127.0.0.1:8081/base/test.php" method="post"> <div class="form_group"> <label>用户名</label> <input type="text" name="username"> </div> <input type="submit" value="确认"> </form> </div> </body> </html> //php页面 <?php var_dump($_POST); 运行截图:
谢谢,但是我想用Ajax实现呢
董哥007 2019-08-14
  • 打赏
  • 举报
回复
json里面写双引号试一下 有时候不规范也不行的
qq_39047451 2019-08-14
  • 打赏
  • 举报
回复
file_get_contents("php://input") 试试 你这个问题的原因是:coentent-Type是 txt/html,$_POST只能获取特定格式的application/x-www-data-urlencoded和multipart/form-data 具体资料看看https://www.php.net/manual/zh/reserved.variables.post.php
  • 打赏
  • 举报
回复
<input class="form-control username" type=" " name="username" id="username">


username = $("username").val();
  • 打赏
  • 举报
回复
<input class="form-control username" type=" " name="username">


username = $("username").val();
<?php?> 2019-08-11
  • 打赏
  • 举报
回复
我这样做的楼主可以去试试:

<!--html页面-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="container">
<form action="http://127.0.0.1:8081/base/test.php" method="post">
<div class="form_group">
<label>用户名</label>
<input type="text" name="username">
</div>
<input type="submit" value="确认">
</form>
</div>
</body>
</html>



//php页面
<?php
var_dump($_POST);

运行截图:



滴滴咚咚咚 2019-08-08
  • 打赏
  • 举报
回复
引用 4 楼 qq_39047451 的回复:
[quote=引用 2 楼 darkCloudss 的回复:] 打印$_POST显示数组到字符串的转换 $username= $_POST["'username'"];换成这个还是出错
贴出 var_dump($_POST)[/quote] 是空的
qq_39047451 2019-08-08
  • 打赏
  • 举报
回复
引用 2 楼 darkCloudss 的回复:
打印$_POST显示数组到字符串的转换 $username= $_POST["'username'"];换成这个还是出错
贴出 var_dump($_POST)
董哥007 2019-08-08
  • 打赏
  • 举报
回复
用$_REQUEST接收一下看看 并且打映一下这个数组 看在里面没
conqweal 2019-08-08
  • 打赏
  • 举报
回复
头部增加代码
error_reporting(E_ALL^E_NOTICE);
,测试你的代码没有问题; let username = $(".username").val();,这后面的分号改成英文的,不然出错。
滴滴咚咚咚 2019-08-07
  • 打赏
  • 举报
回复
打印$_POST显示数组到字符串的转换 $username= $_POST["'username'"];换成这个还是出错
qq_39047451 2019-08-07
  • 打赏
  • 举报
回复
先打印一下$_POST 可能你知道原因了 应该是引号的问题 $username= $_POST["'username'"];

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧