【问题标题】:Ajax in Laravel procudes error 500 Internoal errorLaravel 中的 Ajax 产生错误 500 内部错误
【发布时间】:2020-09-09 08:57:43
【问题描述】:

我正在尝试使用 ajax get 方法在 laravel 中获取数据。一切都很好,但是当我发出 Ajax 请求时,请求 url 会自动更改。

例如我的网址是http://localhost/project/size/。但是,当 Ajax 请求调用时,url 会像这样自动更改 http://localhost/project/size?idSize=4-small - 在显示此 404 错误之后。以及使用时

url: "{{ route('size') }}"

显示 500 内部错误。 这是我的 ajax 代码。

<script type="text/javascript">
        $(document).ready(function () {
        $('#selectSize').change(function () {
            var idSize = $(this).val();
            if (idSize == "") {
                return false;

            }
            $.ajax({
                url: '/size',
                type: 'GET',
                data: { idSize: idSize },
                beforeSend: function (request) {
                    return request.setRequestHeader('X-CSRF-Token', $("meta[name='csrf-token']").attr('content'));
                },
                success: function (response) {
                    console.log(response);
                    alert(response);
                    var arr = response.split('#');
                    $('#getPrice').html("USD" + arr[0]);
                    $('#price').val(arr[0]);
                    if (arr[1] == 0) {
                        $('#cartButton').hide();
                        $('#Availability').text('Out Of Stock');
                    }
                    else {
                        $('#cartButton').show();
                        $('#Availability').text('In Stock');
                    }
                },
                error: function (err) {
                    console.log(err);
                    alert("Something Went Wrong, Please check again");
                }
            });
        });
    });
</script>

这是我的控制器

//Here I Am getting Product Price
public function getProductPrice(Request $request){
    $data = $request->all(); 
    print_r($data);
    die();
    $proArr = explode("-",$data['idSize']);
    // echo $proArr[0]; echo $proArr[1];
    $proAttr = ProductAttribute::where(['product_id'=>$proArr[0],'size'=>$proArr[1]])->first();
    echo $proAttr->price;
    echo "#";
    echo $proAttr->stock; 
    // return $getCurrencyRates = Product::getCurrencyRates($proAttr->price);
    // echo $proAttr->price."-".$getCurrencyRates['USD_Rate']."-".$getCurrencyRates['GBP_Rate']."-".$getCurrencyRates['EUR_Rate'];
    // echo "#";
    // echo $proAttr->stock; 
}

我的路线是

Route::get('size','ProductController@getProductPrice');

【问题讨论】:

  • 该路由在api.phpweb.php 路由中吗?它是在某种群体中吗?
  • quirel@你在吗?

标签: php ajax laravel


【解决方案1】:

使用路由 name() 然后在 ajax 中 router() 助手

Route::get('size','ProductController@getProductPrice')->name('size');

然后在ajax中

$.ajax({
url: "{{ route('size') }}",

那么您的 ajax 网址将始终正确

【讨论】:

  • Kamlesh Paul@you 在吗?
  • kamlesh Paul@url: "{{ route('size') }}",显示 500 内部错误
猜你喜欢
  • 2020-02-12
  • 2015-02-07
  • 2017-11-05
  • 2021-08-25
  • 2016-07-14
  • 2018-04-16
  • 2016-03-24
  • 1970-01-01
  • 2019-12-05
相关资源
最近更新 更多