首页 >后端开发 >php教程 >为什么jQuery的$.get()收不到php的返回信息?

为什么jQuery的$.get()收不到php的返回信息?

WBOY
WBOY原创
2016-07-06 13:54:121325浏览

HTML部分

<code>    <p>姓名<input type="text" name="name"></p>
    <p>性别<input type="radio" name="sex" value="m">男<input type="radio" name="sex" value="f">女</p>
    <p>手机号码<input type="text" name="mobile"></p>
    <button id="sub">提交</button>
    <script type="text/javascript">
        $("#sub").click(function() {
            var name = $("input[name='name']").val();
            var sex = $("input[name='sex']:checked").attr('value');
            var mobile = $("input[name='mobile']").val();
            if (name&&sex&&mobile) {
                alert(name+sex+mobile);
                $.get('user_info_save.php',{name: name,sex: sex,mobile: mobile},function(data){console.log(data);});
            }
            else{alert("信息未填写完整");}
        });
    </script></code>

服务器的php

<code>$db=mysqli_connect($host,$user,$password,$database);
if($db){
        $db->query("set names utf8");//设置UTF-8编码(JSON的唯一编码)
}else{
        echo 'DATABASE_CONNECTION_DIE';//数据库连接失败
        exit;
}
$name = $_REQUEST['name'];
$sex = $_REQUEST['sex'];
$mobile = $_REQUEST['mobile'];
$sql = "insert `customer`(`name`,`sex`,`mobile`) values('".$name."','".$sex."','".$mobile."')";
$result=$db->query($sql);
echo "ok";
</code>

结果是数据库已经录入数据了,但是function似乎无效了,到底为什么呢?

这个问题已被关闭,原因:无法获得确切结果的问题

回复内容:

HTML部分

<code>    <p>姓名<input type="text" name="name"></p>
    <p>性别<input type="radio" name="sex" value="m">男<input type="radio" name="sex" value="f">女</p>
    <p>手机号码<input type="text" name="mobile"></p>
    <button id="sub">提交</button>
    <script type="text/javascript">
        $("#sub").click(function() {
            var name = $("input[name='name']").val();
            var sex = $("input[name='sex']:checked").attr('value');
            var mobile = $("input[name='mobile']").val();
            if (name&&sex&&mobile) {
                alert(name+sex+mobile);
                $.get('user_info_save.php',{name: name,sex: sex,mobile: mobile},function(data){console.log(data);});
            }
            else{alert("信息未填写完整");}
        });
    </script></code>

服务器的php

<code>$db=mysqli_connect($host,$user,$password,$database);
if($db){
        $db->query("set names utf8");//设置UTF-8编码(JSON的唯一编码)
}else{
        echo 'DATABASE_CONNECTION_DIE';//数据库连接失败
        exit;
}
$name = $_REQUEST['name'];
$sex = $_REQUEST['sex'];
$mobile = $_REQUEST['mobile'];
$sql = "insert `customer`(`name`,`sex`,`mobile`) values('".$name."','".$sex."','".$mobile."')";
$result=$db->query($sql);
echo "ok";
</code>

结果是数据库已经录入数据了,但是function似乎无效了,到底为什么呢?

if 里面 && 是不是要有空格 ?
这样呢?
name && sex && mobile

还有,$.get有四个参数,一般最后的那个参数设置为json
你php文件中相应也要改
echo json_encode(array('status' => 1, 'info' => 'ok'));

打开控制台看看返回的什么结果

<code>$.get('user_info_save.php',{name: name,sex: sex,mobile: mobile},function(data){console.log(data);},'JSON')</code>

申明返回的数据类型

先看看后台有没有返回数据,然后再看看PHP后台返回的数据是不是json数据,然后百度下$.get的用法,然后看看有没有报什么提示信息,一步一步的检测,或者你直接调试代码,监测看看是哪里的问题,单纯的看你发的代码,很难找准问题的所在,建议使用Phpstorm调试下看看

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn