【问题标题】:JSON.parse: unexpected character in AngularJS and PHPJSON.parse:AngularJS 和 PHP 中的意外字符
【发布时间】:2017-09-26 00:18:41
【问题描述】:

AgnularJS 版本为 v1.5.6

当用户输入数据并提交表单时,数据将使用 PHP 存储在 mySQL 中。但我在 Firefox 中收到错误 。

在我的 DB_formSave.php 中,我有完整的代码,例如创建表.. 插入查询.. 但首先,我要确保它是连接 db 和 angularJS

另外,任何人都可以告诉我 php 只能接受 JSON 格式或对象吗?而 AngulrJS 只能接受 JSON 或 Object?我很新,所以请分享你的知识给我。

controller.js

var userControllers = angular.module('userControllers', []);


userControllers.controller('UserFormController', ['$scope', '$http', 
'$location', '$window', 'myFactory', function ($scope, $http, $location, 
$window, myFactory) {
var dataObj = "";
var config = { headers: { 'Content-Type': 'application/x-www-form urlencoded;charset=utf-8;' } }

$scope.submitForm = function (user) {
    myFactory.set(user);  // Set data to myFactory to share with ConfirmationController        
    dataObj = {
        "name": user.name, 
        "province": user.province, 
        "telephone": user.telephone,
        "postalcode": user.postalcode, 
        "salary": user.salary
    }
    console.log(dataObj);   //it shows this format like below :

      Object { name: "Jason", province: "Québec", telephone: "(416) 123-1234", postalcode: "M2N3L3", salary: "40.000" }

    $http.post('ajax/DB_formSave.php', dataObj)
    .success(function(data) {
        console.log(data);
        console.log(dataObj);
    })
  }

}]);

DB_formSvae.php

<?php

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

$post_date = file_get_contents("php://input");
$data = json_decode($post_date);

$servername = "localhost:3307";
$username = "root";
$password = "";
$dbname = "mydb";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// check connection
if($conn->connect_error){
die("Connection failed:".$conn->connect_error);
}
echo "Connected successfully\n";

?>

【问题讨论】:

  • 是在保存后出现错误还是之前
  • 保存后报错

标签: javascript php angularjs


【解决方案1】:

你可以尝试在你的 php 中进行 json 解码。

$post_date = file_get_contents("php://input");
$data = json_decode($post_date, true);

【讨论】:

  • 我喜欢我只是删除行标题下面的 2("Access-Control-Allow-Origin: *"); header("Content-Type: application/json; charset=UTF-8");任何人都可以解释它的作用?
【解决方案2】:

我只是删除了下面的 2 行

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

任何人都可以解释它的作用吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-11
    • 2017-09-05
    • 2016-11-26
    • 2019-07-15
    • 2014-03-18
    • 2021-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多