你好傢伙我有我的前端在離子和後端在PHP中。現在我試圖發送一些數據回到我的角度應用程序,但我面臨一些錯誤。我試圖找到解決方案,但我無法找到解決方案。請幫助我解決這個問題,謝謝。那我得到的錯誤是:json_encde扔我錯誤
SyntaxError: Unexpected token { in JSON at position 331
at Object.parse (native)
at fromJson (http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:14655:14)
at defaultHttpResponseTransform (http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:23675:16)
at http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:23766:12
at forEach (http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:13691:20)
at transformData (http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:23765:3)
at transformResponse (http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:24554:21)
at processQueue (http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:29127:28)
at http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:29143:27
at Scope.$eval (http://192.168.10.5:8100/lib/ionic/js/ionic.bundle.js:30395:28)
這是我們所關注的部分是這樣的:
if($request->category == "key"){
error_log("in key");
$key_action = $this->Battleplan_Util->getKeyBattleplan($param["for"]);
$key_action_count = count($key_action);
if ($key_action_count == 0){
error_log("adding");
$this->addActionInBattleplan($param);
}else{
error_log("error found in key");
$data["status"] = "false";
$data["type"] = "key";
$data["data"] = $key_action;
error_log("Data is : ". print_r($data , true));
// echo json_encode(array("status"=>"false","type"=>"key","data"=>$key_action[0]));
echo json_encode(array("data" => $data));
}
我的PHP控制器從那裏我將數據發送回我的角度視圖功能這樣的:
public function addBattleplan(){
// error_log("Hwllo world");
// die;
// $param = $this->input->post();
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$token = $request->token;
$referrer = $request->referrer;
// $type = $request->type;
$param["plan"] = $request->plan;
$param["date"] = $request->date;
$param["category"] = $request->category;
$token = $this->common_util->Decrypt('XXXXXXX',$token);
$user = $this->User_Util->get_token($token);
if (!$user) {
echo false;
}
$user_id = $user[0]['user_id'];
if ($request->target) {
$param['target'] = date('M d, Y' , strtotime($request->target));
} else {
$param['target'] = '--';
}
// $param['date'] = $this->getToday();
$param['date'] = date('M d, Y');
$param['starred'] = FALSE;
$param['archived'] = FALSE;
$param["for"] = new MongoId($user_id);
$param["type"] = "daily";
error_log("The category is: ". $this->category);
if ($request->category == "additional"){
error_log("in additional");
$this->addActionInBattleplan($param);
}
else{
if($request->category == "key"){
error_log("in key");
$key_action = $this->Battleplan_Util->getKeyBattleplan($param["for"]);
$key_action_count = count($key_action);
if ($key_action_count == 0){
error_log("adding");
$this->addActionInBattleplan($param);
}else{
error_log("error found in key");
$data["status"] = "false";
$data["type"] = "key";
$data["data"] = $key_action;
error_log("Data is : ". print_r($data , true));
// echo json_encode(array("status"=>"false","type"=>"key","data"=>$key_action[0]));
echo json_encode(array("data" => $data));
}
}else{
error_log("in important");
$imp_action = $this->Battleplan_Util->getImportantBattleplan($param["for"]);
$imp_actions_count = count($imp_action);
if($imp_actions_count < 5){
$this->addActionInBattleplan($param);
}else{
echo json_encode(array("status"=>"false" , "type"=> "important" , "data"=>$imp_action));
}
}
}
echo json_encode(array("status" => "true"));
return;
// $id = $this->Battleplan_Util->addBattleplan($param);
// if($id)
// {
// // $c_id = $this->calendar_util->insertCalendar($param['date'] , $param['target'], $param['plan'], '', 'actions', $id);
// // $this->battleplan_util->updateBattleplaCalendarId($id,$c_id);
// }
// echo 'true';
// return;
// }
}
,這裏是從那裏我試圖發送數據的離子碼
var request = $http({
method: "post",
url: link,
data: {
token:token,
plan: action,
target: date,
category: type,
},
});
request.success(function (data) {
debugger;
$scope.tittle = data[0]['plan'];
$scope.created =data[0]['date'];
$scope.targetD = data[0]['target'];
var alertPopup = $ionicPopup.alert({
title: 'Data Sent And Received Successfully',
template: data
});
alertPopup.then(function(res) {
console.log('Data Sent And Received Successfully');
$scope.checkStatus=false;
});
});
請告訴我它是什麼,我做錯了
** JSON **
嗯,我想這個數據編碼成JSON。那就是:
[23-May-2016 11:53:38 Asia/Karachi] Data is : Array
(
[status] => false
[type] => key
[data] => Array
(
[0] => Array
(
[_id] => MongoId Object
(
[$id] => XXXXXXXXXXXXXXXXXX
)
[plan] => Action
[target] => May 20, 2016
[status] => active
[type] => daily
[for] => MongoId Object
(
[$id] => XXXXXXXXXXXXXX
)
[category] => key
[date] => May 20, 2016
[starred] =>
[archived] =>
[visibility] => Array
(
[0] => MongoId Object
(
[$id] => XXXXXXXXXXXXXXXXX
)
)
)
)
)
標有星號和歸檔中都有假的,但這並不在錯誤日誌中顯示出來
您的json格式無效。發佈你的json。 – choz
是從網絡選項卡中獲取json並將其發佈在此處 –
或在http://jsonlint.com上檢查它 –