我收到此错误,但我不知道为什么要得到它,我的代码可以正常工作,但是仍然出现错误意味着有些不好。你能帮我吗?
这里:
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;
}
答案 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}
。