javascript - 未捕获的语法错误 : Unexpected token C in JSON at position 0

标签 javascript php jquery html

这是我的表单代码。我要求用户输入电子邮件和密码并检查用户是否注册。如果他注册了,那么我会提醒成功:

<form role="form" class="legacy-form" action="" method="POST" id="myform1">
  <div class="col-xs-12 col-sm-6 col-md-6 col-sm-offset-3 col-md-offset-3">
    <div class="form-group">
      <input type="email" name="email" id="loginemail" class="form-control" placeholder="Email Address" required>
    </div>
  </div>
  <div class="col-xs-12 col-sm-6 col-md-6 col-sm-offset-3 col-md-offset-3">
    <div class="form-group">
      <input type="password" name="password" id="loginpassword" class="form-control" placeholder="Password" required>
    </div>
  </div>
  <div class="row" style="padding:15px">
    <div class="col-xs-6 col-sm-3 col-md-3  col-sm-offset-3 col-md-offset-3">
      <div class="form-group">
        <input type="submit" value="Log In" class="btn btn-primary" id="loginbtn">
      </div>
    </div>
    <div class="col-xs-6 col-sm-3 col-md-3">
      <div class="form-group">
        <input type="submit" value="Cancel" class="btn btn-danger" data-dismiss="modal">
      </div>
    </div>
  </div>
</form>

这是 php 代码,其中连接被放置在另一个文件“init.php”中

<?php
    include('init.php');
    if(isset($_POST))
    {
        $loginemail=$_POST["loginemail"];
        $loginpassword=$_POST["loginpassword"];
        $sql = "select count(*),fname from users where password='$loginpassword' and email='$loginemail'";
        $result=mysqli_query($con,$sql);
        if($result) {
            $response =array();

            while($row=mysqli_fetch_array($result))
            {
                array_push($response,array("Count"=>$row[0],"name"=>$row[1]));
            }
            echo json_encode(array("server_response"=>$response));
        } else {
            echo "error";
        }
        mysqli_close($con);
    }
?>

这是我的js文件。在控制台中打印信息时,我得到 Connection sucess{"server_response":[{"Count":"1","name":"sagar"}]}

$("#loginbtn").click(function(e) {
  var loginemail = $("#loginemail").val();
  var loginpassword = $("#loginpassword").val();
  check_for_user(loginemail, loginpassword);

  function check_for_user(loginemail, loginpassword) {
    console.log("in check_for_user");
    var i = 0;
    console.log(i);
    i++;
    var c = "";
    var x = "1";
    var user = "";
    var formdata = {
      loginemail: loginemail,
      loginpassword: loginpassword
    }
    $.ajax({
      url: 'getData.php',
      type: "POST",
      data: formdata,
      dataType: 'text',
      success: handle_success,
      error: handle_error
    });

    function handle_success(info) {
      console.log(info);
      var obj = jQuery.parseJSON(info);
      console.log(obj);

      $(obj.server_response).each(info, function(index, value) {
        user = value.name;
        c = value.Count;
      });
      console.log(c);
      console.log(user);
      if (x == c) {
        alert("Welcome");
        //document.location='online.html';
      } else {
        alert("Enter valid username and password");
      }

    }

    function handle_error() {
      alert("error");
    }
  }
});

代码的流程就像当单击#loginbtn时,它会在 php 上发布登录电子邮件和登录密码,然后检查数据库中是否存在相同的条目,如果是,则会发出警报“欢迎”。我在 StackOverflow 上搜索了很多,发现它说解析 JSON 或解码它时出现错误。

最佳答案

看起来您正在 init.php 中回显 “连接成功”,尽管我们看不到这一点。

json 响应不应包含其他响应内容...只有 json。

关于javascript - 未捕获的语法错误 : Unexpected token C in JSON at position 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39878199/

相关文章:

javascript - 跨域iframe通信

javascript - 如何更改 keith-wood jQuery 倒计时中的时钟文本

javascript - 使用复选框添加和删除 div 属性

javascript - 检查javascript和警报中的背景颜色

javascript - 使用 call() 进行继承。为什么它会持续存在?

php - Twig 中的二维数组

php - 根据支付网关选项更改 WooCommerce 结帐上的 "Pay Now"按钮文本

jquery - 使用 jQuery 识别 IE9/IE10

javascript - JSON:未捕获类型错误:无法设置未定义的属性 'values'

javascript - 作为 prop 传递的日期对象变为 [object Object] 而不是 [object Date]