Home >Backend Development >PHP Tutorial >ajax 与 php传值有关问题

ajax 与 php传值有关问题

WBOY
WBOYOriginal
2016-06-13 12:26:23976browse

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函数编码的
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn