ajax 与 php传值问题

【谭小谭】 2015-09-06 10:29:19
ajax部分 index_test.php文件
<script language="javascript">
$(document).ready(function(){
$('#send_ajax').click(function (){
var username = $('#input1').val();
var age = $('#input2').val();
// var params = $('input').serialize(); //序列化表单的值

$.ajax({
url:'data_test.php', //后台处理程序
type:'post', //数据传送方式
dataType:'json', //接受数据格式
data:{'username':username,'age':age}, //要传送的数据
success:function(data){alert(data);}
});
});
});

</script>

后台脚本处理部分 data_test.php文件
<?php
$username = $_POST['username'];
echo $username;

发现这样传值不成功,脚本获取不到传过来的值
...全文
300 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
linhaishi 2015-09-08
  • 打赏
  • 举报
回复
date里面的值需要加双引号 在使用json数据传输时是要使用eval函数编码的
tmtsir 2015-09-07
  • 打赏
  • 举报
回复
来学习了。。。。
【谭小谭】 2015-09-07
  • 打赏
  • 举报
回复
引用 13 楼 namelesswei 的回复:
谷歌浏览器也可以,F12
浏览器怎么做调试啊 就只会用alert来做一些简单的调试
namelesswei 2015-09-07
  • 打赏
  • 举报
回复
引用 14 楼 samll_snail 的回复:
[quote=引用 13 楼 namelesswei 的回复:] 谷歌浏览器也可以,F12
浏览器怎么做调试啊 就只会用alert来做一些简单的调试 [/quote]你百度下火狐的firebug怎么使用吧,先安装,之后f12打开,页面有什么错误都会看得到
xuzuning 2015-09-06
  • 打赏
  • 举报
回复
你有 dataType:'json',表示服务端应返回 json 格式串 而你服务端 echo $username;,只是输出了无格式串 此时 $.ajax 会走 error 分支,但你没有定义回调函数,所以看不到东西
misaka去年夏天 2015-09-06
  • 打赏
  • 举报
回复
data:{'username':username,'age':age} 把引号去掉。。。
misaka去年夏天 2015-09-06
  • 打赏
  • 举报
回复
脚本获取不到传过来的值 指的是js没有alert出返回值,还是说php脚本那边没有收到post的值呢
namelesswei 2015-09-06
  • 打赏
  • 举报
回复
谷歌浏览器也可以,F12
namelesswei 2015-09-06
  • 打赏
  • 举报
回复
建议你使用火狐浏览器的firebug调试工具来调试,一些基础的错误可以很容易发现~
xuzuning 2015-09-06
  • 打赏
  • 举报
回复
调试 ajax 应用服务端时,应书写表单来代替 ajax 提交
【谭小谭】 2015-09-06
  • 打赏
  • 举报
回复
引用 9 楼 wanghejun695 的回复:
[quote=引用 7 楼 samll_snail 的回复:] [quote=引用 5 楼 xuzuning 的回复:] 你怎么知道没有传过去呢? 你把 dataType:'json' 注释掉,就看到了
现在看到了 是我自己jQuery文件引入出错了 谢谢你了 还有个问题 就是这个值通过ajax传递给这个data_test.php脚本后 为什么单独直接打开这个脚本 不能读取这个通过ajax传递过来的值呢 比如说 我需要在data_test.php这个脚本中使用这个变量 该怎么办啊[/quote] data:{'username':username,'age':age}, 去掉引号 在php文件中引入用$_POST['username'] $_POST['age'] 引用 但是不能echo/var_dump之类的来查看[/quote] 哦哦 这样啊 再问下 为啥不能用echo或者var_dump之类的啊
王大西walker 2015-09-06
  • 打赏
  • 举报
回复
引用 7 楼 samll_snail 的回复:
[quote=引用 5 楼 xuzuning 的回复:] 你怎么知道没有传过去呢? 你把 dataType:'json' 注释掉,就看到了
现在看到了 是我自己jQuery文件引入出错了 谢谢你了 还有个问题 就是这个值通过ajax传递给这个data_test.php脚本后 为什么单独直接打开这个脚本 不能读取这个通过ajax传递过来的值呢 比如说 我需要在data_test.php这个脚本中使用这个变量 该怎么办啊[/quote] data:{'username':username,'age':age}, 去掉引号 在php文件中引入用$_POST['username'] $_POST['age'] 引用 但是不能echo/var_dump之类的来查看
fang_932620 2015-09-06
  • 打赏
  • 举报
回复
贴开发工具里面错误信息啊
【谭小谭】 2015-09-06
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
你怎么知道没有传过去呢? 你把 dataType:'json' 注释掉,就看到了
现在看到了 是我自己jQuery文件引入出错了 谢谢你了 还有个问题 就是这个值通过ajax传递给这个data_test.php脚本后 为什么单独直接打开这个脚本 不能读取这个通过ajax传递过来的值呢 比如说 我需要在data_test.php这个脚本中使用这个变量 该怎么办啊
【谭小谭】 2015-09-06
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
你怎么知道没有传过去呢? 你把 dataType:'json' 注释掉,就看到了
注释掉了 还是不行 我的意思是如果传过去了的话 我直接用php打印变量不就是可以看到值了吗 所有在里边用的echo
xuzuning 2015-09-06
  • 打赏
  • 举报
回复
你怎么知道没有传过去呢? 你把 dataType:'json' 注释掉,就看到了
【谭小谭】 2015-09-06
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
你有 dataType:'json',表示服务端应返回 json 格式串 而你服务端 echo $username;,只是输出了无格式串 此时 $.ajax 会走 error 分支,但你没有定义回调函数,所以看不到东西
嗯嗯 可是这个值都不能通过POST传到data_test.php这个脚本去啊

21,886

社区成员

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

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