当我正在进行ajax调用时,我收到错误,因为401未经授权。
这是我的ajax代码:
var email=document.getElementById( "email" ).value;
if(email)
{
var data = 'email='+ email;
$.ajax({
type: 'POST',
dataType: "json",
data: {"_token": "{{ csrf_token() }}","data":data},
url: "{{ URL::to('admin/check_email_exit') }}",
success: function (response) {
if(response=="1")
{
$( '#email_status' ).html('Email Already Exists');
return false;
}
else
{
$( '#email_status' ).html("");
return false;
}
}
});
}
else
{
$( '#email_status' ).html("");
return false;
}
我的路线:
Route::post('admin/check_email_exit', 'CompanyController@check_email_exit');
这是我的控制器代码,用于检查电子邮件是否退出:
public function check_email_exit(){
$email = $_POST["email"];
$user_email = DB::table('users')->where('email',$email)->select('*')->get();
$use_email=count($user_email);
if($use_email > 0 )
{
return "1";
}
else
{
return "0";
}
}
如何解决此错误.. ??
答案 0 :(得分:3)
只需在ajax请求标题中设置X-CSRF-Token
headers: {
'X-CSRF-Token': {{ csrf_token() }}
}
这可能会对你有帮助。
答案 1 :(得分:0)
检查您是否需要调用的路由,用户必须获得授权。如果不是这种情况,您可以尝试在 auth 中间件之外定义路由。像这样的东西。
之前:
ui <- fluidPage(
numericInput("In1", "Input 1", 60),
numericInput("In2", "Input 2", 100),
numericInput("In3", "Input 3", 100)
mainPanel(plotOutput("plot))
)
_______
server <- function(input, output) {
data1 <- reactive({
data1 <- data.frame(x = 0, y = 1:60)
data1[1, 1] = (input$In1 * 4 * 12)/input$In3
data1[1, 2] = (input$In2 * 4 * 12)/input$In3
for (i in 2:60) {
data1[i,1] = (input$In1 * 4 * 12)/input$In3) + data1[i-1]
data1[i,2] = (input$In2 * 4 * 12)/input$In3) + data1[i-1]
}})
output$plot <- renderPlot({...})
之后:
Route::group(['middleware' => 'auth'], function() {
Route::get('route_name', [Controller::class, 'methd']);
... other routes
});