我对JSP进行了一次AJAX调用,后者又在一个单独的Java类中调用Java方法。所有文件都在同一个文件夹中。
由于某种原因,我无法获得返回给AJAX的正确值。它只是打印整个JSP内容。
JavaScript的:
var xhr = new XMLHttpRequest();
xhr.onload = function() {
if(true){
alert('hello!');
var response = xhr.responseText;
alert(response);
document.getElementById('newgame').innerHTML = xhr.responseText;
}
};
xhr.open('GET', 'javaconnect.jsp', true);
xhr.send(null);
JSP:
<%@ page import="com.example.Server"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
Server tc = new Server();
out.print(tc.highScore());
%>
</body>
</html>
Java类:
package com.example;
public class Server {
public String highScore() {
return "hello!!!";
}
}
答案 0 :(得分:0)
最好的解决方案是使用Servlet来代替实例化Server类的jsp,例如:
public class HelloWorld extends HttpServlet {
protected void doGet (HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
Server tc = new Server();
String txt = tc.highScore();
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(txt);
}
}
不要忘记映射servlet并更改ajax调用的url。 你可以试试