JSON Parse Error: Unrecognized token '<' In angular

This is my angular code. form send code. Click the Submit button. JSON Parse error: Unrecognized token '<'this error will be shown. empty records will be stored on the database. I also added html code and PHP server side code.

 $scope.submitForm = function() {

    $http({
      method  : 'POST',
      url     : 'http://localhost/youtubewebservice/checkOutt.php',
      data    : $scope.user,
      dataType: 'json',
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
     })  
      .success(function(data) {
        if (data.errors) {
          $scope.errorinputFName = data.errors.inputFName;
          $scope.errorinputLName = data.errors.inputLName;
        } 
      });  
    };

HTML code

<form name="userForm" ng-submit="submitForm()">
<div class="form-group">
    <label>Name</label>
    <input type="text" name="inputFName" class="form-control" ng-model="user.inputFName">
    <span ng-show="errorName">{{errorName}}</span>
</div>
<div class="form-group">
    <label>Email</label>
    <input type="text" name="inputLName" class="form-control" ng-model="user.inputLName">
    <span ng-show="errorEmail">{{errorEmail}}</span>
</div>

<button type="submit" class="btn btn-primary">Submit</button>
      <div id="sendmessageresponse"></div>
</form>

** PHP code **

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json;charset=UTF-8");

$data = json_decode(file_get_contents("php://input"));
$inputFName = mysql_real_escape_string($data->inputFName);
$inputLName = mysql_real_escape_string($data->inputLName);

$con = mysql_connect('localhost', 'root', '');
mysql_select_db('look4com_lk', $con);

$qry_em = 'select count(*) as cnt from checkout where chkID ="' . $chkID . '"';
$qry_res = mysql_query($qry_em);
$res = mysql_fetch_assoc($qry_res);


if ($res['cnt'] == 0) {
    $qry = 'INSERT INTO checkout (inputFName,inputLName) values ("' . $inputFName . '","' . $inputLName . '")';
    $qry_res = mysql_query($qry);
    if ($qry_res) {
        $arr = array('msg' => "User Created Successfully!!!", 'error' => '');
        $jsn = json_encode($arr);
        print_r($jsn);
    } else {
        $arr = array('msg' => "", 'error' => 'Error In inserting record');
        $jsn = json_encode($arr);
        print_r($jsn);
    }
} else {
    $arr = array('msg' => "", 'error' => 'User Already exists with same email');
    $jsn = json_encode($arr);
    print_r($jsn);
}
+4
source share
2 answers

This particular parsing error indicates that the output is invalid JSON (duh). Since your result is formatted using json_encode, this should be. (Although I usually print_ronly use arrays ...) However ...

, /, php html, < <22 > . , JSON, , . , php- script (, php://input?), -, .

, F12 → , / . php-, php .

: , mysql_* ( mysql) mysqli_* ( mysqli), PDO. .

+1

. . .

html-

<div ng-controller="ProductController">
<form name="userForm" ng-submit="submitForm()"> 
<div class="form-group">
    <label>Name</label>
    <input type="text" name="inputFName" class="form-control" ng-model="user.inputFName">
    <span ng-show="errorName">{{errorName}}</span>
</div>
<div class="form-group">
    <label>Email</label>
    <input type="text" name="inputLName" class="form-control" ng-model="user.inputLName">
    <span ng-show="errorEmail">{{errorEmail}}</span>
</div>

<button type="submit" class="btn btn-primary">Submit</button>
      <div id="sendmessageresponse"></div>
</form>
  </div>

** PHP- **

$data = json_decode(file_get_contents("php://input"));
$inputFName = mysql_real_escape_string($data->inputFName);
$inputLName = mysql_real_escape_string($data->inputLName);



//localhost
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('look4com_lk', $con);

$qry_em = 'select count(*) as cnt from checkout where inputFName ="' . $inputFName . '"';
$qry_res = mysql_query($qry_em);
$res = mysql_fetch_assoc($qry_res);



if ($res['cnt'] == 0) {
    $qry = 'INSERT INTO checkout (inputFName,inputLName) values ("' . $inputFName . '","' . $inputLName . '")';
    $qry_res = mysql_query($qry);
    if ($qry_res) {
        $arr = array('msg' => "User Created Successfully!!!", 'error' => '');
        $jsn = json_encode($arr);
        print_r($jsn);
    } else {
        $arr = array('msg' => "", 'error' => 'Error In inserting record');
        $jsn = json_encode($arr);
        print_r($jsn);
    }
} else {
    $arr = array('msg' => "", 'error' => 'User Already exists with same email');
    $jsn = json_encode($arr);
    print_r($jsn);
}

** **

 $scope.submitForm = function() {
    // Posting data to php file
    $http({
      method  : 'POST',
      url     : 'http://localhost/youtubewebservice/checkOutt.php',
      data    : $scope.user, //forms user object
      headers : {'Content-Type': 'application/x-www-form-urlencoded'} 
     })  
      .success(function(data) {
        if (data.errors) {
          // Showing errors.

          $scope.errorinputFName = data.errors.inputFName;
          $scope.errorinputLName = data.errors.inputLName;
          //$scope.errorMessage = data.errors.Message;
        } else {
          $scope.contactmessage = data.contactmessage;

        //data: {Name: $scope.Name, Email: $scope.Email, Message:  $scope.Message}
        }


      });  
    };
-1

Source: https://habr.com/ru/post/1654521/


All Articles