如何将多个数据传递给控制器​​?

时间:2020-09-06 10:25:16

标签: javascript jquery laravel api

这是两个选择框。当我同时选择产品和保修值时,它应该传递给控制器​​。那么我应该如何传递?

<select id="products">
    <option value="1">Mobile</option>
     <option value="2">Laptop</option>
</select>

<select id="warrant">
    <option value="1">1 Years</option>
     <option value="2">2 years</option>
     <option value="3">3 years</option>
</select>

这是我的脚本文件

$('#products').change(function () {
     var product_id=$(this).val();
})
$('#warrant').change(function () {
     var warrant_id=$(this).val();
})

我想通过下面的代码在Controller中传递那些ranty_id和product_id,那么我如何传递?

<script>
fetch('http://127.0.0.1:8000/api/productChart'+{
  warrant_id,product_id
})
    .then(response => response.json())
    .then(data => {
            this.sales = data.sales;
            this.start = data.start;
            this.to = data.end;
        });
 </script>

这是我的路线

Route::get('/productChart','Controller@productChart');

1 个答案:

答案 0 :(得分:0)

您可以使用variable API使用formDatafetch数据发送/传递到后端的后端请求中。

variable(product_id / rant_id)都定义为可访问的全局变量,并将其值分配回变量,然后使用formData.append方法将data添加到您的{{1 }},以便将其幼虫formData发送给它。

此外,如果您有更多backend要发送,则可以简单地data向您的append发送更多值。

formData
var product_id
var warrant_id

$('#products').change(function() {
  product_id = $(this).val();
})
$('#warrant').change(function() {
  warrant_id = $(this).val();
})

function callFetch() {
  var formData = new FormData(); //initialize form Data
  formData.append('product_id', product_id); //append product_id
  formData.append('warrant_id', warrant_id);//append warrant_id

  //Post Request
  fetch('http://127.0.0.1:8000/api/productChart', {
      body: formData,
      method: "post"
    })
    .then(response => response.json())
    .then(data => {
      //do something with data
    });
}