我正在开发一个nodejs电子应用程序,在我的index.html中我有一个“内容安全策略”,如下所示
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy"
content="
default-src 'self' https://*.mydomain.tld;
script-src 'self' https://*.mydomain.tld;
style-src 'self' https://*.mydomain.tld;
img-src 'self' https://*.mydomain.tld;
font-src 'self' https://*.mydomain.tld;
connect-src 'self' https://*.mydomain.tld;
media-src 'self' https://*.mydomain.tld;
object-src 'self' https://*.mydomain.tld;
child-src 'self' https://*.mydomain.tld;
frame-ancestors 'self' https://*.mydomain.tld;
frame-src 'self' https://*.mydomain.tld;
worker-src 'self' https://*.mydomain.tld;
form-action 'self' https://*.mydomain.tld;
block-all-mixed-content;
">
Run Code Online (Sandbox Code Playgroud)
当我运行该应用程序时,它工作得很好,所有资源都加载得很好,但在控制台中我收到以下错误
通过元素传递的内容安全策略可能不包含frame-ancestors指令。索引.html: 4
我一直在尝试消除该错误并寻找可能导致该错误的原因,但找不到任何东西,对我来说一切似乎都是正确的,但我仍然收到错误,我还认为该错误可能是由服务器 @https 引起的://*.mydomain.tld 所以我尝试了这个
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy"
content="
default-src 'self';
script-src 'self';
style-src 'self';
img-src 'self';
font-src 'self';
connect-src 'self';
media-src 'self';
object-src 'self';
child-src …Run Code Online (Sandbox Code Playgroud) 我有多个看起来像这样的路线:
Route::get('pending-submit', 'CasesController@cases');
Route::get('submited', 'CasesController@cases');
Route::get('closed', 'CasesController@cases');
Run Code Online (Sandbox Code Playgroud)
即使在路由器 API 文档中,我也一直在环顾四周,除了在控制器中创建多个方法之外,我找不到满足我的要求的解决方案。该方法执行完全相同的查询,除了添加一个 where 子句来标识每个案例之间的不同状态,我试图做的是有一个这样的方法
public function cases($whereStatus = 0){
return Cases::where('status', $whereStatus)->get();
}
Run Code Online (Sandbox Code Playgroud)
而不是这样做:
public function pendingCases(){
return Cases::where('status', 0)->get();
}
public function submitedCases(){
return Cases::where('status', 1)->get();
}
public function closedCases(){
return Cases::where('status', 2)->get();
}
Run Code Online (Sandbox Code Playgroud)
但是我可以想办法将该参数从路由传递给方法,所以我现在必须为每个路由创建一个对我来说似乎没有必要的方法。我知道我可以只生成带有 get 参数的 url,但我想让它更简洁,有没有办法让我添加该参数而不在 url 中添加它?
顺便说一句,我也尝试过这样的事情,但没有成功:
Route::get(
'pending-submit',
array(
'uses' => 'CasesController@cases',
'params' => array(
'filter' => 0
)
)
);
Run Code Online (Sandbox Code Playgroud)
编辑:
我知道我可以创建像https://someurl.com/cases?status=0这样的 URL,也可以像https://someurl.com/cases这样的URL需要不同的方法,但是我想要的是像这样的 URL https://someurl.com/cases并有一个方法,其中参数由路由器传递,而不是我从请求中获取,因此我可以这样做:
public function myMethod($param){
/*
* …Run Code Online (Sandbox Code Playgroud)