【问题标题】:How to get the values from multiple form in one post request using laravel?如何使用 laravel 在一个帖子请求中从多个表单中获取值?
【发布时间】:2018-02-19 07:52:36
【问题描述】:

阿贾克斯:

<script type="text/javascript">
    $(document).ready(function () {
        $('#finalSubmit').click(function() {


            var form1 = $('#priceform').serialize();
            var form2 = $('#formdescription').serialize();
            var form3 = $('#additionaldescription').serialize();
    //var form4 = new FormData($("#imagesform").get(0));
    //alert(form4);

            $.ajaxSetup({
                headers: { 'X-CSRF-TOKEN': 
                $('meta[name="_token"]').attr('content') }
            });

            $.ajax({
                url      :"{{url('/dbvalue')}}",
                type: 'POST',
                data: {form1: form1, form2: form2,form3: form3},
                dataType:'json',
                success:function(data){
                    alert(data);

                }

            });
        });
    });

</script>

这是我的 ajax 代码。这里我传递四个表单的值

控制器:

public function finalSubmit(Request $request)
{      

    var_dump($_POST);
    $var1 = $this->addPriceDetails1($request->form1);

    $var2 = $this->addProductDetails1($request->form2);
    $var3 = $this->addAdditionalInformation1($request->form3);
        //$var4 = $this->addImages($imagesform);//you dont't have 
    $imagesform
    return response()->json(["response"=>"success"]);
}

例如。功能:

public function addPriceDetails1($request)
{

    $priceInfo = new priceInfo ;
    $priceInfo->id=$this->getpriceDetailsId();
    $priceInfo->SKUID=$request->input('skuid');
    echo($priceInfo->id);

     //return $request->all();
}

当我尝试回显 $priceInfo-&gt;Id 的值时,它也会回显“0”。我不知道为什么

有了这个我得到 FatalErrorException..call to member function input() on string

var_dump($_POST) 给了我一个表单值数组。

更新:

  public function getpriceDetailsId()
 {
  $id = mt_rand(1000000, 9999999);
  $id="PD".$id;
  $count=priceInfo::select('id')->where('id',$id)->count();
  if($count==0)
  {
    return $id;
  }
  else
  {
    $this->getpriceDetailsId();
  }
  }

这是我的 getpriceDetailsId() 函数。

【问题讨论】:

    标签: php jquery ajax laravel-5.4


    【解决方案1】:

    您收到该错误是因为当您以object 访问时输入查询为string,您可以将查询字符串转换为数组以像这样访问。

    public function addPriceDetails1($request)
    {
        parse_str($request, $input);
        $priceInfo = new priceInfo ;
        $priceInfo->id = $this->getpriceDetailsId();
        $priceInfo->SKUID = $input['skuid'];
        echo($priceInfo->id);
    }
    

    希望有帮助

    【讨论】:

    • 它有效..但我没有得到$priceInfo-&gt;id的价值
    • 好吧,为此你需要告诉我getpriceDetailsId() 在哪里?是在同一个控制器上还是在其他控制器上?
    • 你为什么要打你的身份证?你的 ID 不是 int 是不是因为我看到你在其中添加了字符串 $id="PD".$id;?,为什么你只在 0 if($count==0) 时返回你的 $id?不知道你为什么要写这个函数和它的用途^^
    • 是的..我的 ID 是字符串..当 $count==0 bcz 不应该重复该 ID 时我会返回它
    • 我不知道你的系统,所以我无法帮助你完成你的功能,因为我不知道有什么用。
    猜你喜欢
    • 2019-10-09
    • 1970-01-01
    • 2018-03-14
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    相关资源
    最近更新 更多