我有一个简单的html表单
<form action="#" method="get" id="thisForm">
<button type="submit"> GetJSON </button>
</form>
这是我的javascript在我的body标签的末尾部分
<script src="https://unpkg.com/axios/dist/axios.min.js">
let form = document.getElementById("thisForm");
form.addEventListener('submit', servletAccess())
function servletAccess(e){
e.preventDefault();
console.log("im here")
axios.get('http://localhost:8080/Project1/MyServlet')
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
.then(function () {
console.log(response);
});
}
</script>
这是我的Javaservlet返回json
JSONArray json = new JSONArray();
JSONObject user = new JSONObject();
user.put("name", "rous");
user.put("age", 26);
user.put("lname", "e");
JSONObject user2 = new JSONObject();
user.put("name", "rene");
user.put("age", 28);
user.put("lname", "solomon");
json.put(user);
json.put(user2);
response.setContentType("application/json");
response.getWriter().write(json.toString());
当通过url直接到达我的端点时,我得到了原始数据
[{“lname”:“solomon”,“name”:“rene”,“age”:28},{}]
所以我知道我的端点是有效的。
为什么我连console.log都做不到?我的虚拟控制台.log(“im here”)甚至没有运行?
这可能很简单,但我坚持下去。
1条答案
按热度按时间7tofc5zh1#
您的脚本标记指定了'src'和内联javascript,当您这样编写时,您的内联js将被忽略,因此您必须分离这些脚本标记:
还有这条线:
您将实际的函数调用注册为事件侦听器,它应该是函数本身,如下所示: