将对象从Javascript返回到刀片,然后再返回到控制器

问题描述 投票:0回答:1

我有一个问题,如何将数据从Javascript传递到刀片,然后返回给Laravel中的控制器。我的目标是验证是否存在特定的用户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;
                },

这实际上有效,并且在刀片中,输入文本字段会再次检查用户是否存在于LDAP中。您还可以看到,我只是从返回的数据中检查特定值(user_details [i] .uid),然后返回true或false。但是,在下一步中,单击刀片中的“发送”按钮后,我想在控制器的请求parsedData变量中拥有主管邮件地址,这是我曾经要求的。

我的问题是,现在,我正在检查用户是否存在,但对结果数据不做任何其他操作。我当然可以在控制器中再次请求数据,但这又是相同的请求。因此,我的问题是,如何将parsedData保存为一种全局变量,以便稍后在控制器中的Request $ request中,数据也可用,而不会在刀片中以新的或隐藏的方式显示数据,字段。

提前感谢

斯蒂芬


由于注释部分中由于空间问题而更新:

你好,

首先,感谢您的详细评论。我必须承认,我也是网络开发的新手,请尝试一下,所以我不了解您100%在分析我什么;)

[通过JQuery进行验证时,我要求LDAP控制器检查输入的用户名。我不希望用户添加不存在的主管。该控制器已经返回了所有我想返回给刀片控制器的所有必需信息,当我单击“提交”按钮并将其重定向到以下功能时,我将在稍后使用该刀片控制器:public function store(Request $ request),并填充所有其他信息可以从此刀片中获取信息,我可以通过以下方式访问该信息:$ request-> input('firstname');。

所以,您建议我调用函数axios.post并使用它来提交所有数据,或者我可以多次使用它,以传递来自LDAP控制器的数据以及来自刀片形式的数据?


当前,我在控制器中的$ request变量看起来像这样:

array:5 [▼
  "_token" => "VN7dFO2X1T1jfwfVduhRmxQFZDrli058Z8iJ6voi"
  "username" => "king"
  "firstname" => "Plow"
  "secondname" => "King2"

但是我想添加另一个变量,如:

  "mailaddress" => "[email protected]"

我想通过javascript中的jquery定义控制器中的数据包含此信息,但我不想像我的名字那样在刀片中定义额外的字段:

<div><input id="firstname" name="firstname" type="text"></div>
<input type="submit" value="Update User" class="btn btn-primary">

好,我能做的就是添加这个,以便我的javascript:

document.getElementById("supervisormail").value = parsedData.user_details[i][0].mail[0];

这是我的刀片:

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

但是我对解决方案并不满意。我想,如果我能在不对刀片进行任何修改的情况下将其添加为JavaScript的话,那就更好了。

我有一个问题,如何将数据从Javascript传递到刀片,然后返回给Laravel中的控制器。我的目标是验证是否存在特定的用户ID,但以后还要在控制器中...

laravel
1个回答
0
投票

您不会以这种方式将数据从javascript传递到php。我建议您创建一个新的控制器或向现有的控制器添加新的方法,以期希望将数据传递到刀片服务器。

© www.soinside.com 2019 - 2024. All rights reserved.