我陷入了一个需要你们输入的场景。目前,我正在开发一项功能,即锁定其他管理员的预订。我在预订表中创建了一个字段,当管理员进入预订时,我将 user_id 放置在该字段中,该字段会使用当前管理员 ID 进行更新,并且其他管理员目前确实可以访问该预订。
所以问题是,如果用户关闭该选项卡,其他管理员的预订也会保持锁定状态。
我在 vueJs 中尝试了很多不同的方法,例如beforeunloadMethod. 我使用过 Xhr 方法和 axios 在这种情况下都失败了。我还能做什么来解决这个问题
removeUser () {
var params = JSON.stringify({ locked_by: '' });
let xhr = new XMLHttpRequest()
xhr.open('PUT',Url, true)
xhr.setRequestHeader("Authorization", 'Bearer ' + localStorage.getItem('app_access_token'))
xhr.setRequestHeader("Content-length", params.length);
xhr.setRequestHeader("Content-type", "application/json; charset=utf-8")
xhr.responseType = 'arraybuffer'
xhr.onreadystatechange = function() {//Call a function when the state changes.
if(xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
}
xhr.send(params);
Run Code Online (Sandbox Code Playgroud)
mounted() {
window.addEventListener('beforeunload', this.removeUser)
Run Code Online (Sandbox Code Playgroud)
还尝试了 beforeunload 事件上的 axios 调用
removeUser (id) { …Run Code Online (Sandbox Code Playgroud) 我喜欢这个
<form id="popisgolubova_form">
<input name="pregledaj" type="button" formaction="uredigoluba.php" formmethod="post" formtarget="_self" value="pregledaj" class="button" onclick="popisgolubova_radiobutton(this)">
<input name="rodovnik" type="button" formaction="rodovnik.php" formmethod="post" formtarget="_blank" value="rodovnik" class="button" onclick="popisgolubova_radiobutton()">
<input name="podaci" type="button" value="poodaci" formaction="podaciogolubu.php" formmethod="post" formtarget="_blank" class="button" onclick="popisgolubova_radiobutton()">
</form>
Run Code Online (Sandbox Code Playgroud)
和javascript
function popisgolubova_radiobutton(element)
{
alert($(element).find("[formaction]").val());
var popisgolubova_radiobutton=$("input[name=RadioGroup1]").is(":checked");
if(popisgolubova_radiobutton==false)
{
alert("nop");
}
else
{
$("form#popisgolubova_form").submit();
}
}
Run Code Online (Sandbox Code Playgroud)
首先,我正在检查是否检查了任何复选框,如果是,我可以提交表格.但问题是形成,形式方法和形式目标.如何获取并提交它们
我正在构建一个项目管理系统,用户可以将文件附件上传到任务中.这些附件存储在"storage/app/public/projects //"目录中.在正确的目录下的正确目录中,上传工作就像它应该的那样.
但是,当我想下载所述附件时,无论如何都找不到该文件.我提供了我的上传和下载方法的代码,以及我的"本地"驱动程序配置.
驱动配置:
'local' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'storage'
],
Run Code Online (Sandbox Code Playgroud)
上传方式:
$sExt = $request->file('attachment')->getClientOriginalExtension();
$sHashedName = substr(
sha1(str_replace(' ', '', pathinfo($request->file('attachment')->getClientOriginalName(), PATHINFO_FILENAME))
), 0, 14);
if ( ! Storage::disk('local')->exists($sHashedName . '.' . $sExt)) {
$request->file('attachment')->storeAs(
'/projects/'.$oTask->project->id, $sHashedName . '.' . $sExt, 'local'
);
}
$oTask->attachments()->create([
'name' => $request->name,
'location' => $sHashedName . '.' . $sExt,
'user_id' => Auth::id()
]);
Run Code Online (Sandbox Code Playgroud)
目前的下载方式:
public function downloadAttachment(Project $project, Task $task, Attachment $attachment)
{
var_dump(rtrim(env('APP_URL'), '/') . public_path('/projects/' …Run Code Online (Sandbox Code Playgroud) 我的路线中有以下几点:
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.request');
Run Code Online (Sandbox Code Playgroud)
我在auth下的reset.blade看起来像
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Reset Password</div>
<div class="panel-body">
<form class="form-horizontal" method="POST" action="{{ route('password.request') }}">
{{ csrf_field() }}
<input type="hidden" name="token" value="{{ $token }}">
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
<label for="email" class="col-md-4 control-label">E-Mail Address</label>
<div class="col-md-6">
<input id="email" type="email" class="form-control" name="email" value="{{ $email or old('email') }}" required autofocus>
@if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group{{ $errors->has('password') …Run Code Online (Sandbox Code Playgroud) 有一个中间件被调用ageCheck,一个控制器被调用MyController,它具有以下返回视图的方法。
index();
show();
edit();
Run Code Online (Sandbox Code Playgroud)
如何在MyController.
我试过这个,但它不起作用!
路线.php:
Route::get('/edit', [
'middleware' => 'ageCheck',
'MyController@edit'
]);
Run Code Online (Sandbox Code Playgroud) 我想检查以“。”开头的字符串。例如.net并使用javascript中的三元运算符将其替换为net。我想将以下代码替换为三元运算符
arr = ".net"
var val = arr.startsWith('.');
if(val == true)
{
arr = arr.replace('.','');
}
else
{
arr;
}
Run Code Online (Sandbox Code Playgroud)
尝试为
arr = arr.startsWith('.') ? arr.replace('.','') : arr;
我有一个 Laravel 应用程序,其中我在 VueJS 组件中使用 axios 在单击按钮时将 GET 请求发送到外部公共 API,但它会引发以下错误:
[Error] Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers.
[Error] XMLHttpRequest cannot load http://api.icndb.com/jokes/random due to access control checks.
[Error] Failed to load resource: Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers. (random, line 0)
Run Code Online (Sandbox Code Playgroud)
这是我失败的尝试:
const url = "http://api.icndb.com/jokes/random";
const response = await axios.get(url);
Run Code Online (Sandbox Code Playgroud)
我只是应该收到一些查克·诺里斯的笑话并打印在控制台上......
PS:我已经看到了一些与 CORS 相关的事实,但我没有从中得到任何信息,所以我就在这里。
我有一个 Laravel 9 论坛项目,对于Question模型,我添加了以下内容:
public function user()
{
return $this->belongsTo(User::class);
}
Run Code Online (Sandbox Code Playgroud)
对于User模型,我添加了以下内容:
public function questions()
{
return $this->hasMany(Question::class);
}
Run Code Online (Sandbox Code Playgroud)
基本上,每个问题都有一个名为的字段creator_id,我想根据这个字段连接这两个模型之间的关系。
那么我该怎么做呢?
我有 Symfony 应用程序,我尝试将一个简单的表单提交给 action 函数,显然我的注释是错误的,但我不知道如何修复它们。这是完整的错误
[语法错误] 预期值,在 C:\xampp\htdocs\TaskManager\src\AppBundle/Controller/ 中的方法 AppBundle\Controller\ProjectController::showAction() 中的位置 58 处得到“POST”(这是从“C :\xampp\htdocs\TaskManager\app/config\routing.yml")。
这是我尝试提交的表格 show.html.twig
<form method="post">
<input type="submit" name="approve" value="Approve">
<input type="submit" name="reject" value="Reject">
</form>
Run Code Online (Sandbox Code Playgroud)
其背后的原因是我只有一种类型的用户可以批准或拒绝项目。该用户不应仅仅为了更改这两个字段而进入编辑页面。相反,它应该单击两个按钮,并且值应该在他不做任何其他事情的情况下发生变化。我的想法是将这段代码放在showAction()-
if (isset($_POST['approve'])) {
$project->setApproved(true);
$project->setRejected(false);
}
elseif (isset($_POST['rejected'])) {
$project->setRejected(true);
$project->setApproved(false);
}
Run Code Online (Sandbox Code Playgroud)
在我更改这些值后,我打算刷新它们,以便再次显示该项目时,它将被批准或拒绝。这里的关键是不应该有字段。当我想展示一个项目时,我已经拥有了冲洗它所需的一切。这是我对 showAction() 的注释 -
/**
* Finds and displays a project entity.
*
* @Route("/{id}", name="project_show")
* @Method("GET","POST")
*/
Run Code Online (Sandbox Code Playgroud)
只是为了比较,这里是我的注释,editAction()其中工作正常
/**
* Displays a form to edit an existing project entity.
*
* @Route("/{id}/edit", name="project_edit")
* …Run Code Online (Sandbox Code Playgroud) 我正在开发可以重复使用的侧面导航,并且我想实现一些数据属性。是否可以以我需要在单击时触发 jQuery 函数的方式组合 on('click') 事件和 if 语句,或者data-open="true"默认情况下打开侧边导航。关键是我不想重写 open 属性的所有代码。如果data-open="true". 抱歉英语不好
这是我的 HTML:
<nav class="side-nav side-nav-right" data-push="true" data-open="true" data-opacity="true">
<div class="side-toggle-button">
<div class="icon-bar"></div>
<div class="icon-bar"></div>
<div class="icon-bar"></div>
</div>
</nav>
Run Code Online (Sandbox Code Playgroud)
这是 JavaScript
// Side Navigation
$('.side-toggle-button').on('click', function() {
var push = $('.side-nav').data().push;
var opacity = $('.side-nav').data().opacity;
var open= $('.side-nav').data().open;
$('.side-nav').toggleClass('side-nav-open');
// Left Side Navigation
if ($('.side-nav').hasClass('side-nav-left')){
$(this).toggleClass('side-toggle-button-left');
//Left Side Push Option
if (push === true) {
$('body').toggleClass('side-nav-push-right');
}
// Right Side Navigation
} else {
$(this).toggleClass('side-toggle-button-right');
//Right Side …Run Code Online (Sandbox Code Playgroud) 不使用 jQuery(因为我还没有开始那个部分),只使用一些好的旧 JavaScript/DOM,我怎么能选择列表中项目的最后一个元素。
例如,我有以下 HTML:
<section id="container">
<ul>
<li class="first">one</li>
<li class="second">two</li>
<li class="third">three</li>
</ul>
<ol>
<li class="first">one</li>
<li class="second">two</li>
<li class="third">three</li>
</ol>
</section>Run Code Online (Sandbox Code Playgroud)
我想选择这个项目并将它返回到 DOM: <li class="third">three</li>从ol列表中。我知道document.querySelector只选择文档中的第一个元素,即document.querySelector('li.third'). 我将如何做相反的事情并选择最后一个?