Heim  >  Artikel  >  Backend-Entwicklung  >  为什么jQuery的$.get()收不到php的返回信息?

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

WBOY
WBOYOriginal
2016-07-06 13:54:121276Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn