如何在 Ajax 请求中重定向回 Laravel 8 中的错误
How to redirect back with errors in Laravel 8 inside an Ajax request
当 data.custom_input === "false" 我想重定向回错误。
redirect()->back() 在控制台内给我这个错误:Uncaught SyntaxError: Unexpected number: cd988e2f-ba9c-4b66-97d9-618e776ae740:157。这是我传递给所有路由的 uuid。
URL::previous 工作正常,但我无法传递任何错误。
let interval = 1000;
function doAjax() {
$.ajax({
type: 'POST',
url: '/listen/custominput',
data: {
'_token': $('meta[name="csrf-token"]').attr('content')
},
dataType: 'json',
success: function (data) {
if (data.custom_input === "true") {
window.location.href = "{{route('index', $link->id)}}";
} else if (data.custom_input === "false") {
window.location.href = {{redirect()->back()->withErrors(['error', 'has-error'])}};
}
},
complete: function (data) {
setTimeout(doAjax, interval);
}
});
}
setTimeout(doAjax, interval);
我需要做什么?
您的 (POST) 路由返回 custom_input = "false" 然后尝试重定向回 JavaScript,您应该重定向 (POST ) 路由控制器(不在 blade/js 中)与你已有的:
redirect()->back()->withErrors(['error', 'has-error'])
当 data.custom_input === "false" 我想重定向回错误。 redirect()->back() 在控制台内给我这个错误:Uncaught SyntaxError: Unexpected number: cd988e2f-ba9c-4b66-97d9-618e776ae740:157。这是我传递给所有路由的 uuid。
URL::previous 工作正常,但我无法传递任何错误。
let interval = 1000;
function doAjax() {
$.ajax({
type: 'POST',
url: '/listen/custominput',
data: {
'_token': $('meta[name="csrf-token"]').attr('content')
},
dataType: 'json',
success: function (data) {
if (data.custom_input === "true") {
window.location.href = "{{route('index', $link->id)}}";
} else if (data.custom_input === "false") {
window.location.href = {{redirect()->back()->withErrors(['error', 'has-error'])}};
}
},
complete: function (data) {
setTimeout(doAjax, interval);
}
});
}
setTimeout(doAjax, interval);
我需要做什么?
您的 (POST) 路由返回 custom_input = "false" 然后尝试重定向回 JavaScript,您应该重定向 (POST ) 路由控制器(不在 blade/js 中)与你已有的:
redirect()->back()->withErrors(['error', 'has-error'])