> 백엔드 개발 > PHP 튜토리얼 > 为什么jQuery的$.get()收不到php的返回信息?

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

WBOY
풀어 주다: 2016-07-06 13:54:12
원래의
1313명이 탐색했습니다.

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调试下看看

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿