Laravel 将对象从Javascript返回到blade,然后返回到控制器

Laravel 将对象从Javascript返回到blade,然后返回到控制器,laravel,Laravel,我有一个问题,关于如何将数据从Javascript传递到我的刀片服务器,然后再返回到我在Laravel中的控制器。 我的目标是验证是否存在特定的用户id,但稍后在控制器中也会在其已验证id旁边使用该id以及其邮件地址。使用jquery,我检查LDAP中是否存在如下特定的用户计数: url: "getADobject/" + $('#supervisor').val(), data: '', dataFilter: function(data) { var pa

我有一个问题,关于如何将数据从Javascript传递到我的刀片服务器,然后再返回到我在Laravel中的控制器。 我的目标是验证是否存在特定的用户id,但稍后在控制器中也会在其已验证id旁边使用该id以及其邮件地址。使用jquery,我检查LDAP中是否存在如下特定的用户计数:

url: "getADobject/" + $('#supervisor').val(),
data: '',
dataFilter: function(data) {
                  var parsedData = JSON.parse(data);

                  $(".loading").css('visibility', 'hidden');
                  for ( var i = 0; i < parsedData.user_details.length; i++) {
                    console.info(parsedData.user_details[i]);
                    if(parsedData.user_details[i].uid === $('#supervisor').val()){
                      console.info("Found user in JSON: " + JSON.stringify(parsedData.user_details[i]));
                      return true;
                    }
                  }

                  return false;
                },
array:5 [▼
  "_token" => "VN7dFO2X1T1jfwfVduhRmxQFZDrli058Z8iJ6voi"
  "username" => "king"
  "firstname" => "Plow"
  "secondname" => "King2"
axios.post('/your/route', yourdata)
     .then(response => {
        // scucess
        console.log(response.data);
     })
     .catch(error => {
       // error
       console.log(error.data);
     });
但我想添加另一个变量,如:

  "mailaddress" => "King@hotmail.com"
我喜欢通过javascript中的jquery来定义它,其中来自控制器的数据包含这些信息,但我不想在我的blade中定义一个额外的字段,比如firstname:

<div><input id="firstname" name="firstname" type="text"></div>
<input type="submit" value="Update User" class="btn btn-primary">
这是我的剑:

<input type="hidden" id="supervisormail" name="supervisormail" >


但我对这个解决方案不太满意。我想,如果我可以在不修改刀片服务器的情况下添加javascript,那就更好了。你不会以这种方式将数据从javascript传递到php。我建议您创建一个新的控制器或向现有控制器添加一个新方法,该控制器需要您想要传递到刀片服务器的数据

因此,在这种情况下,您可以简单地使用axios,如下所示:

url: "getADobject/" + $('#supervisor').val(),
data: '',
dataFilter: function(data) {
                  var parsedData = JSON.parse(data);

                  $(".loading").css('visibility', 'hidden');
                  for ( var i = 0; i < parsedData.user_details.length; i++) {
                    console.info(parsedData.user_details[i]);
                    if(parsedData.user_details[i].uid === $('#supervisor').val()){
                      console.info("Found user in JSON: " + JSON.stringify(parsedData.user_details[i]));
                      return true;
                    }
                  }

                  return false;
                },
array:5 [▼
  "_token" => "VN7dFO2X1T1jfwfVduhRmxQFZDrli058Z8iJ6voi"
  "username" => "king"
  "firstname" => "Plow"
  "secondname" => "King2"
axios.post('/your/route', yourdata)
     .then(response => {
        // scucess
        console.log(response.data);
     })
     .catch(error => {
       // error
       console.log(error.data);
     });
在控制器的方法中,您只需执行以下操作即可获得请求并从中进一步工作:

public function store(Request $request) {
    dd($request->all()
}

嗨,因为空间问题,我添加了我的第一篇帖子here@Stephan那么当前的问题是什么呢?我添加了另一个更新。还是您建议我通过javascript函数执行提交操作?