Jquery laravel 查看模式导致 401 注销
Jquery laravel viewing modal causing 401 logged out
我正在使用 laravel 构建 Web 应用程序,但我在登录后打开模式时遇到问题。似乎 JQuery 导致 401(未经授权的错误)导致一段时间出去。
似乎这种情况主要发生在 Google Chrome 中,但发生的情况非常不稳定。因此,有时当我登录时,我会在 opening/loading 模式后收到 401 错误,有时我不会。
我正在打开的模式正在填充一个 Ajax 调用,该调用列出了 MYSQL 数据库中的一组用户。
我将来自控制台的错误添加为附件。出于隐私原因,我屏蔽了 URL。红色的处理登录,紫色的是 url 打开模式并列出用户
jquery 401 error on opening modal
我不知道 JQuery 是如何导致这个 401 错误的,有人有什么建议吗?
默认情况下,Laravel 在收到 POST 请求时需要一个 _token 参数。您通常使用 blade 和 {!! csrf_token !!}
将其添加到您的表单中。使用 Ajax 也不例外。如果您要执行 POST 请求,则需要将 _token 参数添加到请求中。您可以通过将它直接添加到您的 Ajax 参数,或者通过将其添加到您的布局视图 <meta name="csrf-token" content="{{ csrf_token() }}">;
来告诉 jQuery 在所有 Ajax 请求上处理它。这是给你的 JavaScript.
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
在任何 Ajax 请求之前确保它是 运行。
这不会添加 _param,但会向 Ajax POST 请求添加 X-CSRF-TOKEN
header。 Laravel 将检查 _token 参数 或 X-CSRF-TOKEN
所以你真的只需要其中之一。
如果您已添加它但仍然遇到此问题,请尝试在浏览器 "network tab" 中查看 Laravel 的响应。在 Chrome 中,按 F12 打开 DevTools。转到“网络”选项卡并刷新您的页面。在左侧面板上,您会看到您的页面发出的所有 HTTP 请求。您可以通过单击 XHR
过滤器来过滤 Ajax 的请求。单击您失败的请求(它将显示为红色)。在右侧面板上,您将看到所有请求和响应数据。您可以点击回复查看Laravel的回复。如果响应为 HTML.
,“预览”选项卡将格式化所有 HTML/CSS
我正在使用 laravel 构建 Web 应用程序,但我在登录后打开模式时遇到问题。似乎 JQuery 导致 401(未经授权的错误)导致一段时间出去。
似乎这种情况主要发生在 Google Chrome 中,但发生的情况非常不稳定。因此,有时当我登录时,我会在 opening/loading 模式后收到 401 错误,有时我不会。
我正在打开的模式正在填充一个 Ajax 调用,该调用列出了 MYSQL 数据库中的一组用户。
我将来自控制台的错误添加为附件。出于隐私原因,我屏蔽了 URL。红色的处理登录,紫色的是 url 打开模式并列出用户 jquery 401 error on opening modal
我不知道 JQuery 是如何导致这个 401 错误的,有人有什么建议吗?
默认情况下,Laravel 在收到 POST 请求时需要一个 _token 参数。您通常使用 blade 和 {!! csrf_token !!}
将其添加到您的表单中。使用 Ajax 也不例外。如果您要执行 POST 请求,则需要将 _token 参数添加到请求中。您可以通过将它直接添加到您的 Ajax 参数,或者通过将其添加到您的布局视图 <meta name="csrf-token" content="{{ csrf_token() }}">;
来告诉 jQuery 在所有 Ajax 请求上处理它。这是给你的 JavaScript.
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
在任何 Ajax 请求之前确保它是 运行。
这不会添加 _param,但会向 Ajax POST 请求添加 X-CSRF-TOKEN
header。 Laravel 将检查 _token 参数 或 X-CSRF-TOKEN
所以你真的只需要其中之一。
如果您已添加它但仍然遇到此问题,请尝试在浏览器 "network tab" 中查看 Laravel 的响应。在 Chrome 中,按 F12 打开 DevTools。转到“网络”选项卡并刷新您的页面。在左侧面板上,您会看到您的页面发出的所有 HTTP 请求。您可以通过单击 XHR
过滤器来过滤 Ajax 的请求。单击您失败的请求(它将显示为红色)。在右侧面板上,您将看到所有请求和响应数据。您可以点击回复查看Laravel的回复。如果响应为 HTML.