javascript - Ajax 调用以获取从 HTML 选择选项中选择的值
问题描述
在下拉选项中,我想收听并获取用户选择的选项的值。
然后我想将此值传递给 PHP 变量,以便在刀片视图 PHP 脚本的后面部分中使用。
我不想重新加载页面,因此从网上看,我发现 ajax 是唯一可能的方法。
我试图实现如下所示,但在提交页面加载时遇到了障碍。
更好的是是否可以有一个选择选项下拉列表,您可以在不提交的情况下获得选定的值?
我的选择选项代码:
<form id="myForm">
<div class="button dropdown">
<select name="languageSelected" required="required" id="languageselector" onChange='showSelected(this.value)'>
<option value="">Pick A language</option>
@foreach($reviewForm_language as $lang)
<option value="{{$lang->id}}">{{$lang->name}}</option>
@endforeach
</select>
</div>
<input id="ajaxSubmit" type="submit" value="Select"/>
</form>
我的 JS 代码:
<script>
jQuery(document).ready(function(){
jQuery('#ajaxSubmit').click(function(e){
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
});
jQuery.ajax({
url: "{{ url('#') }}",
method: 'post',
data: {
id: jQuery('#languageSelected').val(),
},
success: function(result){
jQuery('.alert').show();
jQuery('.alert').html(result.success);
}});
});
});
</script>
重新加载时,我可以将值作为 GET 请求获取,如下所示;但是,我不想重新加载页面,但由于某些原因它会重新加载。
`<?php
$langId = request()->get('languageSelected');
?>`
任何人?
解决方案
尝试这个 -
更改 type="button" 而不是提交
输入 id="ajaxSubmit" type="button" value="Select"
2.不需要$.ajaxSetup
。$.ajaxSetup
从url复制标题并移到上面(内部jQuery.ajax({
)
- 你正在正确地做其他事情。现在只需在控制器中检查您是否
id
使用 var_dump($request->all()
)获取 post 参数
推荐阅读
- angular - 延迟(0)导致茉莉花的代码覆盖问题
- php - 为什么在案例 0 的 PHP SWITCH 中表现得如此愚蠢?
- c++ - 在 Visual Studio 中编码 C++ 时控制台窗口消失
- firebase - 颤动中特定设备的Firebase消息通知
- c# - asp.net core:“更改非并发集合的操作必须具有独占访问权限。”
- python - 软件包 libcxxabi 已安装但在 conda 中找不到
- sublimetext3 - 如何在 sublime 文本中更改 flake8 的缩进设置?
- apache-spark - 什么是 Spark 中的“序列化重定位”?
- java - 是否可以在 Java 的父类中为子类赋值?
- python - 根据先前 tkinter 条目小部件中给出的值添加条目小部件