我想在Jquery函数和Tomcat中的servlet之间建立通信。
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test extends HttpServlet {
public static String getBody(HttpServletRequest request) throws IOException {
String body = null;
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
try {
InputStream inputStream = request.getInputStream();
if (inputStream != null) {
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead = -1;
while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
stringBuilder.append(charBuffer, 0, bytesRead);
}
} else {
stringBuilder.append("");
}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
throw ex;
}
}
}
body = stringBuilder.toString();
return body;
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
System.out.println(getBody(request));
out.println("Success Call Ajax POST");
}
public void doGet( HttpServletRequest request, HttpServletResponse
response ) throws ServletException, IOException{
response.setContentType("text/html");
response.setCharacterEncoding( "UTF-8" );
PrintWriter out = response.getWriter();
out.println("Get Method");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>Test</servlet-name>
<servlet-class>com.servlets.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/toto</url-pattern>
</servlet-mapping>
</web-app>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function login(){
$.ajax({
type: "POST",
url: "http://localhost:8080/test/toto",
data: "POST Call",
success: function(result){
alert("success call"+result);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
}
});
}
</script>
<title>My AJAX</title>
</head>
<body>
<button type="button" onclick="login()">Click Me!</button>
</body>
我用浏览器测试了servlet,它很好。当我尝试HTML/JS应用程序并单击eclipse控制台中的按钮时,指令system.out.println(getBody(request))显示的消息;“Post Call”但我在浏览器中得到了错误警报。因此,ajax函数成功地调用了servlet中的post方法,但是servlet不能成功地将响应返回给浏览器。似乎servlet中有问题。谁能帮帮我吗?
在dopost()
中,尝试添加请求头:
response.setContentType("text/html");
response.setHeader("Access-Control-Allow-Origin", "*");
我确信这与这里描述的允许起源问题有关
问题内容: 我的脚本来调用ajax 的HTML 问题: 在onkeyup上,我正在使用ajax来获取结果。一旦ajax结果延迟增加,对我来说就会发生问题。 例如, 当键入关键字时,我收到ajax结果,而当键入两次键之间的ajax时间延迟有时引起严重问题时,我收到ajax结果。 当我快速打字时。与相比,ajax搜索关键字的时间晚了。我不知道该如何处理这类案件。 结果由于ajax延迟 而快速键入关键字
问题内容: 我想以这种方式进行Ajax调用的堆栈:call(n-1)完成后,call(n)开始… 由于多种原因,我无法使用 async:false : 一些请求可能是 jsonp (最相关) 我还有其他一些可能同时起作用的ajax请求。 浏览器被阻止 我无法以这种方式链接我的请求: 因为请求的数量和参数是根据用户输入动态创建的。 一个小例子说明了我的问题。 您将看到服务器响应顺序是随机的,我要实现
问题内容: 问题 我需要在Django模板中使用jQuery进行Ajax分页。 情况 我的模板中包含以下代码: 和我的看法: 结论 因此,每当我按“下一步”时,它实际上会发出Ajax请求,但数据不会在表中呈现。 对于分页,使用django.core.paginator,我真的很愿意在可能的情况下坚持使用。 您能看到代码缺失/错误吗? 问题答案: 我没有发现错误,但下面向您展示如何解决此任务。我认为
问题内容: 我正在尝试捕获ajax请求的进度。 它没有按预期工作。据我所知,id为 progressProdCounter的 Div 应该在其中包含%的内容,但在我的情况下什么也没有发生。有帮助吗? __ 在我看来,这是行不通的 HTML: JS: 问题答案: ProgressEvent.lengthComputable ProgressEvent.lengthComputable只读属性是一个布
问题内容: 已关闭 。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 我正在寻找一个使用jQuery,PHP和MySQL的很好的Ajax分页教程。我遇到的那些不好。 因此,如果有人可以推荐一个好的网站/教程,那就太好了。谢谢。 编辑 这是一些不好的教程。 网站1 网站2 网站3 问题答案: 这是 CakePHP的 一个教程
问题内容: 我可以通过接收到请求的xml 但不是 没有JavaScript错误,没有跨域策略问题。可能是语法错误,但是我找不到合适的教程。有什么建议吗? 问题答案: 我认为您需要纯格式: