javascript - getRequest.getParameter("param1") 为 Element.value 返回空
问题描述
我正在尝试使用 jqGrid 运行 ajax 调用。但是,参数并没有一直发送到 getRequest()。
如果我做javascript:
var param1 = document.getElementById("idInput").value;
var url = "${ctx}/Method.action?getTheseRecords¶m1="+param1;
然后,当我调用 Java 时,它返回空白。但是,如果我设置了 var param1,那么我会得到正确的数据。
所以这有效:
var param1 = "M";
var url = "${ctx}/Method.action?getTheseRecords¶m1="+param1;
所以第一种方式给出一个空字符串,第二种给出一个String ==“M”:
String param1 = getRequest().getParameter("param1");
我不知道是否有人知道为什么这不起作用?因为我在放入Ajax之前查看了url,它很好。
解决方案
你不编码你的网址。这可能是问题所在。
var url = "${ctx}/Method.action?getTheseRecords¶m1=" + encodeURIComponent(param1);
除此之外,一切对我来说似乎都很好。
推荐阅读
- sql - Microsoft Access -> 具有内部联接和多项选择的不同计数
- javascript - 以下函数的哪一部分使其异步?
- list - 如何在 f# 中压缩列表?
- python - 需要数组的第一项但只得到第一个字母
- c# - BlockingCollection 上的 foreach 循环为什么以及如何无限运行?
- php - 为什么 laravel 在浏览器上工作但在 phpunit 测试中失败?
- c# - admob 插页式回调事件只工作一次,而不是第二次
- html - display:grid 不能在 chromium 和 nwjs 中的按钮元素上工作,在 Firefox 中工作正常
- javascript - jQuery:一个按钮,它检查自己的 DIV 中的所有复选框并取消选中所有其他复选框
- python - Pycharm代码完成窗口中带有数字的绿色和红色箭头