【问题标题】:How to Access Serialized data in the Controller如何访问控制器中的序列化数据
【发布时间】:2017-02-21 06:18:05
【问题描述】:

如何获取Controller中的序列化数据?

例如我有这个数据...

var str = $('#edit-form-data').serialize(); //string 

我将它传递给这样的函数...

editDosage(urlEdit,str);

我的功能是这样的……

function editDosage(url,res)
{
    console.log(url);
    $.ajax({
        url: url,
        method: 'POST',
        data: res,
        success:function(data){},
        error: function(data){}
    });     
}

如何在Laravel的Controller中获取序列化数据的输入值?

例如,我在 edit-form-data 中包含了“store_id”的名称,我想在控制器中访问它。我可以这样做吗?

$store_id = Input::get('store_id');
dd($store_id);

【问题讨论】:

  • 是的,您可以使用$store_id = Input::get('store_id');dd($store_id) 显示什么?

标签: php ajax laravel


【解决方案1】:

你也可以使用,

$(document).ready(function() { 
    $('#edit-form-data').ajaxForm(); 
}); 

检查一下:http://malsup.com/jquery/form/

或者检查这个:

 $(document).ready( function(){

        $(document).on('click','#submitButton', function(){
            var _this = this;


            var request = $.ajax({
                url: url,
                type: "POST",
                data: jQuery("#form").serialize(),
                dataType: "json"
            });
            request.done(function( msg ) {

            });
            request.fail(function( jqXHR, textStatus ){

            });
        });
    });

在php中

 try {
     // input code
if($_REQUEST){
                    echo json_encode("success");

                } else {
                    echo json_encode("checkinput");
                }

            }catch (Exception $e){
                echo $e->getMessage();
                echo json_encode("error");
            }

【讨论】:

  • 那么这个是做什么的?我可以做这样的事情吗? $store_id = 输入::get('store_id');
【解决方案2】:

您可以使用几种不同的方式来获取输入。 来自请求

如果你的函数有一个 Request 参数,你可以从中获取输入。

public function methodA(Request $request) {
    $data = $request->all();
}

You can view the documentation on Requests here.

输入外观

与请求类似,您可以使用输入外观来获取输入的数据。

public function methodB() {
    $data = Input::all();
}

You can view the API docs for the Input Facade here.

【讨论】:

    【解决方案3】:

    jQuery 代码

    $.post('/ajax', {'_token': $token,data: $this.serialize()}, function(resp) {
    
        /*optional stuff to do after success */
    });
    

    控制器功能##

    public function CreateBill()
    {
        parse_str($_POST['data'], $data);
    
        return $data;
    }
    

    【讨论】:

      猜你喜欢
      • 2012-05-29
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      相关资源
      最近更新 更多