以下是正在运行的jQuery版本:
var button = $('#a');
var output = $('#output');
var data = {
colors: ['red', 'blue', 'green']
};
button.click(function(event) {
$.ajax({
url: "handler.jsp",
type: "POST",
data: data,
success: function(data) {
output.html(data);
}
});
});
这是一个不起作用的香草JS版本:
var button = document.querySelector('#a');
var output = document.querySelector('#output');
var data = {
colors: ['red', 'blue', 'green']
};
button.onclick = function() {
var request = {
method: 'POST',
body: JSON.stringify(data)
};
fetch('handler.jsp', request)
.then(function(response) {
return response.text();
})
.then(function(text) {
output.innerHTML = text;
});
};
Java代码:
<%
String[] colors = request.getParameterValues("colors[]");
%>
<p><%= colors[0] %></p>
在这两种情况下,请求/响应都有效,但是使用vanilla JS的响应会返回
<p>null</p>
jQuery版本返回
<p>red</p>
vanilla JS版本有什么问题?