【问题标题】:POST 401 (Unauthorized) when calling an ajax request in jquery在 jquery 中调用 ajax 请求时 POST 401(未经授权)
【发布时间】:2021-12-19 12:39:03
【问题描述】:

我想填充数据并在用户选择一个值时将其显示在浏览器上browser.i 使用 jquery ajax 创建函数。我在选择大小时设置了警报测试,否则返回错误..问题是它返回错误并且它不显示警报大小。也在控制台上在浏览器上显示错误“POST http://127.0.0.1:8000/admin/getproductprice 401 (Unauthorized)”..我该如何解决这个问题。 这是我的 jquery 脚本代码

$.ajaxSetup({
    headers:{
        'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')
    }
});
$(document).ready(function(){
    $('#getprice').change(function(){
        var productsize=$(this).val();
        if(productsize==""){
            alert("please Select size");
            return false;
        }
        var product_id=$(this).attr("product-id");
        // alert(product_id);
        $.ajax({
            url:'/admin/getproductprice',
            data:{productsize:productsize,product_id:product_id},
            type:'POST',
            success:function(resp){
                alert(resp);
                // $(".getattrprice").html("Sh."+resp);
            },error:function(){
                alert("Error");
            }
        });
    });
});

这是我在 method_controller 中的 getproductprice 方法

public function getproductprice(Request $request)
    {
        if($request->ajax()){
            $data=$request->all();
            echo "<pre>";print_r($data);die;
            $getproductprice=Productattribute::where(['product_id'=>$data['product_id'],'productattr_size'=>$data['productattr_size']])->first();
            echo $getproductprice->productattr_price;
        }

        return redirect('admin/merchadise')->with('success','The Merchaise has been created succesfully');
    }

这是我的路线

Route::post('/getproductprice', [Merchadise_controller::class,'getproductprice'])->name('getproductprice');

【问题讨论】:

  • 你确定这条路由没有被授权中间件保护吗?
  • @muhamadhhassan 受保护
  • 你如何验证你的 API?你使用 JWT 还是 sanctum?
  • 我正在使用 json 网络令牌

标签: jquery ajax laravel-8


【解决方案1】:

我发现问题出在哪里..我将方法更改为另一个不受身份验证保护的控制器..我更改为这个的方法也有错误

public function getproductprice(Request $request)
    {
        if($request->ajax()){
            $data=$request->all();
            echo "<pre>";print_r($data);die;
            $getproductprice=Productattribute::where(['product_id'=>$data['product_id'],'productattr_size'=>$data['productattr_size']])->first();
            echo $getproductprice->productattr_price;
        }
     }

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 2018-10-08
    • 2016-10-24
    相关资源
    最近更新 更多