从Angular 5到Lumen Rest API的HTTP请求

问题描述 投票:2回答:1

我在从angular 5前端应用程序向lumen后端静态API发送HTTP请求时遇到问题。

嗯,我只想注册一个用户。

这是我的流明后端代码,用于处理用户的创建:

public function create(Request $request)
{
    $this->validate($request, [
      'screen_name' => 'required',
      'email' => 'required',
      'password' => 'required'
    ]);

    $request['api_token'] = app('hash')->make(str_random(60));
    $request['password'] = app('hash')->make($request->password);

    $user = User::create($request->all());

    return response()->json($user, 201);

}

我已经检查了后端,并且可以在POSTMAN中正常工作。

现在以角度5:

registerUser(value){
var Indata={
  screen_name: value.scrname,
  email: value.email,
  password: value.password
}


return this.http.post(window.location.hostname+':1000/api/v1/users/',Indata);

}

而且此角度请求也已通过公共假API进行检查,并且可以正常工作。

所以,首先我遇到了CORS问题,因为lumen api服务器和我的角度服务器都在本地服务器下工作。然后我添加了:

window.location.hostname

而不是:

http://localhost

它解决了CORS问题,但是现在我遇到了一个我不了解问题在哪里的问题?

error: error { target: XMLHttpRequest, isTrusted: true, lengthComputable: 
false, … }
headers: Object { normalizedNames: Map, lazyUpdate: null, headers: Map }
message: "Http failure response for (unknown url): 0 Unknown Error"
name: "HttpErrorResponse"
ok: false
status: 0
statusText: "Unknown Error"
url: null

我也找到了与此问题有关的角度代理配置,但没有用。

因此,任何帮助将不胜感激。谢谢。

angular laravel rest angular5 lumen-5.5
1个回答
0
投票

您尝试过:this.http.post('/ api / v1 / users /',Indata)吗?

您的src文件夹中是否有proxy.conf.json?

proxy.conf.json:

{“ / api / *”:{“ target”:“ http://localhost:8000”,“安全”:错误,“ logLevel”:“调试”}}

在“ serve”下的angular.json中是这样的:

“ serve”:{“ builder”:“ @ angular-devkit / build-angular:dev-server”,“选项”:{“ browserTarget”:“ frontend:build”,“ proxyConfig”:“ src / proxy.conf.json”}

而且您也必须在管腔中设置CorsMiddleware。

© www.soinside.com 2019 - 2024. All rights reserved.