【发布时间】:2016-03-21 05:07:55
【问题描述】:
我正在尝试获取数组,它是在我的 java 类的 javascript 函数中创建的。
在我的 java 类中,这个数组是一个空值。
这是我的jsp代码,
<input type="button" value="Submit" onClick="submit()" />
<script>
var a = "I am A"
var b = "I am B"
var c = "I am C"
var arr = [a,b,c];
function submit() {
$.ajax({
method : "POST",
url : 'myServlet',
dataType : "text/html",
data : {sts:arr}
success : function(resp) {
},
error : function(data) {
},
});
}
</script>
<!-- </form> -->
</body>
</html>
我的java类访问数组,
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
String[] n=request.getParameterValues("sts");
System.out.println(n);
}
还尝试了以下
protected void doPost(HttpServletRequest request, HttpServletResponse response) {
String[] n=request.getParameterValues("sts[]");
System.out.println(n);
}
两者都只打印 null 而不是数组。
谁能说出错误发生在哪里?
提前致谢。
【问题讨论】:
-
var arr = [a,b,c]; a,b,c 是什么?
-
很确定
a、b和c需要评估您的 JS 代码中的某些内容。 -
它们是一个简单的字符串值。
-
不应该是
data : {"sts":arr}吗?还可以使用浏览器开发者控制台检查浏览器发送的内容,即是否发送了数组以及使用了哪个参数名称。 -
我更新了我的问题
标签: javascript java arrays jsp servlets