我有一个问题,如何将数据从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,但以后还要在控制器中...
您不会以这种方式将数据从javascript传递到php。我建议您创建一个新的控制器或向现有的控制器添加新的方法,以期希望将数据传递到刀片服务器。