我是ajax的新手。我想重定向到servlet,选择框的参数值为我的servlet。这是我的代码,当我使用request.getParameter(“type”)时它没有检索值,它给了我一个null。
<script>
$(document).ready(function() {
$('#type').change(function() {
$.get('pickasset', function(responseJson) {
var type = $('#type').val();
$.ajax({
type:'POST',
url: 'PickAssetServlet',
data: type
});
});
});
});
</script>
<form action="pickasset" method="post">
<select id="type" name="type">
<option value="Non-Sap">Non Sap</option>
<option value="Sap">Sap</option>
</select>
</form>
当我更改选择框时,它必须转到servlet并在那里做逻辑。
答案 0 :(得分:0)
发送您的数据 -
data: { type : type }
答案 1 :(得分:0)
如果您没有从选择字段中获取所选选项,则需要使用
$('#type').find(":selected").text()
检索所选选项。 val()
不适用于选择字段。也做pXL说的,因为这是你用jQuery ajax方法发送数据的方式
答案 2 :(得分:0)
复选框值必须以正确的方式从复选框中获取,如jQuery docs(http://api.jquery.com/val/)中所述,只需注意多个选择,您将拥有一系列值。根据文档,你做得对。
var varValue = var type = $('#type').val();
然后以'json'发送数据,您将能够使用request.getParameter('type')
读取它们data: { "type" : varValue }
如果仍然为null,请尝试检查您的“类型”参数及其值是否在请求中(chrome请求检查器将非常有用,然后在调试器中进行检查)。
P.S。
只需检查您的webapp过滤链中是否有可能包含您请求或隐藏某些参数的内容,在某些大型网络应用中您很容易迷失。