我在从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
我也找到了与此问题有关的角度代理配置,但没有用。
因此,任何帮助将不胜感激。谢谢。
您尝试过: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。