【问题标题】:Laravel Jquery Ui Ajax Post to Controller and get value to bladeLaravel Jquery Ui Ajax 发布到控制器并为刀片获取价值
【发布时间】:2016-11-17 09:44:22
【问题描述】:

我构建了基本的 Jquery Ui 滑块:

    $("#sliderNumCh").slider({
        range: "min",
        min: 0,
        max: 20,
        step: 1,
        value: 20,
        change : function(e, slider){
            $('#sliderAppendNumCh').empty();
            var getSliderVal = document.getElementById('sliderValue').value = sliderValue;

            $('#sliderAppendNumCh').append(
            <div class=\"form-group\" style=\"width:100%;margin:0 auto;\">
                ...
            </div>);

        },
        slide : function(e , slider){
            $('#number_of_chapters').val(slider.value);
        },
    });     

我现在的问题是如何将每张幻灯片上的滑块值发布到我的 Laravel 控制器。

我试过了:

        $.ajax({
            type: 'POST',
            url: "{{Route('getAjaxRequest')}}",
            headers: {'X-Requested-With': 'XMLHttpRequest'},
            data: {value: getSliderVal},
            success: function (option) {
                console.log(getSliderVal);
            }
        });

路线:

Route::post('create', ['as' => 'getAjaxRequest', 'uses' => 'ProductController@getAjaxRequest']);

在我的控制器中,我尝试调用并返回如下值:

public function getAjaxRequest()
{
    $value =  Request::get('value');
    return view('productRom.edit')->with('value', $value);
}

所以基本上我想获取滑块值,然后将该值返回给 php 函数,例如在循环中使用该值。

我不习惯 Ajax,因此不确定自己做错了什么。

编辑 我尝试了 Jose Rojas 的建议:

public function getAjaxRequest()
{
    $value =  Request::get('value');
    //do your stuff
    return $slideValue;
}

我在控制台中收到以下错误:

http://localhost/myapp/public/product/edit/%7BproductID%7D500(内部服务器错误)

实际网址是:

http://localhost/myapp/public/product/edit/51

编辑

这是我的路线:

Route::get('edit/{productID}', ['as' => 'editProduct', 'uses' => 'ProductController@editProduct']);

【问题讨论】:

  • 您将变量发布到设置为其他视图的方法?
  • 是的,所以基本上是在 php 中使用 javascript 变量
  • 把你的 ajax 代码放在幻灯片更改选项或幻灯片选项中
  • 它在更改选项功能中,如果我滑动,我会再次收到错误:)
  • 是否显示内部服务错误..?

标签: javascript php jquery ajax laravel


【解决方案1】:

如果我理解得很好,您想获取幻灯片的值,因此控制器中的方法返回视图应该返回幻灯片的值,如下所示:

public function getAjaxRequest($productID)
{
    $value =  Request::get('value');
    //do your stuff
    return $slideValue;
}

然后,在您接收该值的方法中,您可以使用该值执行您想要的操作。使用 AJAX 的目的是在不重新加载整个网页的情况下加载部分网页。

【讨论】:

  • 谢谢,我现在不能检查,明天我会告诉你
  • 我在控制台 POST http://localhost/myapp/public/product/edit/%7BproductID%7D 500 (Internal Server Error) 中收到以下错误,因此这总是发生在具有其 id 的编辑产品中,实际 url 是 http://localhost/myapp/public/product/edit/51
  • 把你的 ajax 代码放在幻灯片更改选项或幻灯片选项中
  • @JohnDoe2 您当前在控制器上的代码是什么,您可以发布吗?,请参阅您必须指定为参数的方法处的编辑,通过 URI 接收参数
  • 我的产品只有一个基本的 index-、new-、create-、edit-、destroy- 方法 + getAjaxRequest 方法
猜你喜欢
  • 2017-09-11
  • 2020-05-23
  • 2017-12-16
  • 2020-10-14
  • 1970-01-01
  • 2020-12-02
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多