首頁 >後端開發 >php教程 >ajax 与 php传值有关问题

ajax 与 php传值有关问题

WBOY
WBOY原創
2016-06-13 12:26:23977瀏覽

ajax 与 php传值问题
ajax部分 index_test.php文件
<script> <br /> $(document).ready(function(){ <br /> $('#send_ajax').click(function (){ <br /> var username = $('#input1').val(); <br /> var age = $('#input2').val(); <br /> // var params = $('input').serialize(); //序列化表单的值<br /> <br /> $.ajax({ <br /> url:'data_test.php', //后台处理程序 <br /> type:'post', //数据传送方式 <br /> dataType:'json', //接受数据格式 <br /> data:{'username':username,'age':age}, //要传送的数据 <br /> success:function(data){alert(data);} <br /> }); <br /> }); <br /> }); <br /><br /></script>  

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

发现这样传值不成功,脚本获取不到传过来的值
------解决思路----------------------
你有  dataType:'json',表示服务端应返回 json 格式串
而你服务端 echo $username;,只是输出了无格式串
此时 $.ajax 会走 error 分支,但你没有定义回调函数,所以看不到东西
------解决思路----------------------

引用:
Quote: 引用:

你怎么知道没有传过去呢?
你把 dataType:'json' 注释掉,就看到了


现在看到了 是我自己jQuery文件引入出错了  谢谢你了  还有个问题  就是这个值通过ajax传递给这个data_test.php脚本后 为什么单独直接打开这个脚本 不能读取这个通过ajax传递过来的值呢  比如说 我需要在data_test.php这个脚本中使用这个变量 该怎么办啊

 data:{'username':username,'age':age},   去掉引号
在php文件中引入用$_POST['username'] $_POST['age'] 引用  但是不能echo/var_dump之类的来查看
------解决思路----------------------
date里面的值需要加双引号
在使用json数据传输时是要使用eval函数编码的
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn