我正在使用Angular 4和Laravel 5.4。
当我使用Postman并查询下一条路线:http://ventas.dev./api/ubigeo时,它会返回两条记录,因为我有下一个代码:
$tot = Ubigeo::where('dist', 'like', '%'. $request->input('term') . '%')->count();
return response()->json(["ubigeo" => $tot], 201);
但是当我从Angular调用相同的路径时,它返回Ubigeo表中的所有记录。
为什么我有这个问题?
来自邮递员: https://ibb.co/n5PraF
来自Chrome(Angular): https://ibb.co/bW8HFF
答案 0 :(得分:0)
直接在数据库中触发reuquest后会得到多少结果?你得到了哪些结果?
您的自定义路线是否可能出错?你有两台服务器在运行吗?
答案 1 :(得分:0)
我的错误是愚蠢的。我在我的术语变量中发送了一个空值:
let obj = 'term='+term;
有必要这样做:
let obj = {term: term};
我新的Angular函数服务代码是:
loadUbigeo(term:string){
let obj = {term: term};
let body = JSON.stringify(obj);
let headers = new Headers({
'Content-Type': 'application/json'
});
return this.http.post(`${this.sett.url}/ubigeo`, body, { headers })
.map(res => {
return res.json();
});
}