为什么我的代码仍在工作,却出现此错误?

时间:2018-10-10 16:20:27

标签: php angular api

我收到此错误,但我不知道为什么要得到它,我的代码可以正常工作,但是仍然出现错误意味着有些不好。你能帮我吗?

enter image description here

这里:

addDepartment (name:string, location:string):Observable<any> { return this.http.post(this.depCreate,{ "name": name, "location": location}, httpOptions); } 

数据库代码在这里。希望它能对您有所帮助:

function create(){

// query to insert record
$query = "INSERT INTO
            " . $this->table_name . "
  JSON.stringify({ "name": name, "location": location})";

          //  echo $query;

// prepare query

$stmt = $this->conn->prepare($query);
if (!$stmt)
  var_dump($this->conn->errorInfo());

// sanitize
$this->name=htmlspecialchars(strip_tags($this->name));
$this->location=htmlspecialchars(strip_tags($this->location));



// bind values
$stmt->bindParam(":name", $this->name);
$stmt->bindParam(":location", $this->location);


// execute query
if($stmt->execute()){
    return true;
}

2 个答案:

答案 0 :(得分:0)

您必须发送有效的JSON。 json_encode很有帮助

$message = ['message' => 'department was created.'];
echo json_encode($message);

另一种方式:

您也可以使用$json = json_decode($string, true);

从使用javascript发送的一些POST变量中创建数组。

一些脚本代码(从:// create the department替换为脚本结尾)

$message = $department->create()
    ? 'department was created.'
    : 'Unable to create department.';

echo json_encode(['message' => $message]);

答案 1 :(得分:0)

您需要将主体作为字符串传递。使用JSON.stringify({ "name": name, "location": location})而不是{ "name": name, "location": location}