Laravel和Angular。使用Postman和Chrome

时间:2017-07-11 22:04:02

标签: angular orm eloquent laravel-5.4 laravel-eloquent

我正在使用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

2 个答案:

答案 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();
                    });
  }