[英]XHR failed loading GET in Java?
这很奇怪,因为我试图从我的ajax获取servlet响应,并且第一次加载页面并触发请求时,我在控制台日志中获得了正确的响应,但是下一次,我尝试单击按钮以获取响应不断给我错误。
XHR failed loading: GET "http://localhost:8080/TestApplication/HomeServlet?format=json".
send @ jquery-3.2.1.min.js:4
ajax @ jquery-3.2.1.min.js:4
(anonymous) @ Home.jsp?apiname=&apiendpoint=&apiversion=&check=Check:33
dispatch @ jquery-3.2.1.min.js:3
q.handle @ jquery-3.2.1.min.js:3
这让我感到困惑,我想知道为什么我会收到如此奇怪的答复。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<div id="ajaxresponse">
</div>
<form>
API Name:<br>
<input type="text" id = "apiname" name="apiname">
API ENDPOINT:<br>
<input type="text" id ="apiendpoint" name="apiendpoint">
<br>
API VERSION:<br>
<input type="text" id="apiversion" name="apiversion">
ACCESSIBLE:<br>
<input type="checkbox" name="source" value="internet"> Internet<br>
<input type="checkbox" name="source" value="vpn"> VPN<br>
<!--
<br><br>
<input type="submit" formaction="Home" method="post" value="Submit"> -->
<br>
<input type="submit" id="check" name="check" value="Check">
</form>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
$(document).on("click", "#check", function() { // When HTML DOM "click" event is invoked on element with ID "somebutton", execute the following function...
$.ajax({
url: 'HomeServlet',
data: {
format: 'json'
},
error: function (request, status, error) {
console.log(error);
},
success: function(data) {
var $val1 = data.value1;
var $val2 = data.value2;
// $('#ajaxresponse').append('<p>'+$val1+'</p>');
console.log(data.value1);
},
type: 'GET'
});
});
</script>
</body>
</html>
可能有两种解决方案:
1)将输入按钮的类型从“ 提交”更改为“ 按钮”,然后重试,因为您也通过单击表单来提交表单,这可能会导致问题。
2)在按钮单击上尝试event.preventDefault()。
您可能希望通过将事件传递给匿名函数并调用event.preventDefault()
来防止默认行为。 提交表单可能会更改页面的URL,这也会导致您的Ajax URL也不同,因为您将Servlet称为相对URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.