我在控制器中有这个:
public function index(Request $request){
$email = $request->email;
$password = $request->password;
if (!$email || !$password) {return redirect()->back();}
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Authentication passed...
$this->loggedUser = Auth::user();
if($this->loggedUser){
return response()->json(['isLoggedIn' => true],200);
}
}
return response()->json(['isLoggedIn' => false],200);
}
在角度我有这个:
Login (body: Object): Observable<Login[]> {
let bodyString = JSON.stringify(body); // Stringify payload
let options = new RequestOptions({ headers: this.headers }); // Create a request option
return this.http.post('/index', body, options) // ...using post request
.map(response => {return response} ,console.log('aaa')) // ...and calling .json() on the response to return data
.catch((error:any) => Observable.throw(error.json().error || 'Server error' )); //...errors if any
}
问题是,当我在浏览器响应中打开时,我得到了这个:
已弃用:自动填充 $ HTTP_RAW_POST_DATA已弃用,将来会被删除 版。为了避免这种警告,请设置“always_populate_raw_post_data&#39;至 &#39; -1&#39;在php.ini中使用php://输入流代替。在 行 0 未知 警告:不能 修改标题信息 - 已在未知中发送的标题 line 0
{&#34; isLoggedIn&#34;:false
}
任何建议如何解决这个问题以便我得到json?
答案 0 :(得分:1)
这是来自PHP5.6的警告,它会掩盖您从请求中获取的数据。
进入你的php.ini文件并更新这一行
;always_populate_raw_post_data = -1
到
always_populate_raw_post_data = -1
进行此更新后,请不要忘记重启apache