Java AJAX未收到来自servlet的响应
我有一个AJAX向servlet发送帖子。Servlet执行一些计算并返回一个响应。AJAX成功函数读取响应并执行某些操作 AJAX调用Java AJAX未收到来自servlet的响应,java,jquery,ajax,servlets,Java,Jquery,Ajax,Servlets,我有一个AJAX向servlet发送帖子。Servlet执行一些计算并返回一个响应。AJAX成功函数读取响应并执行某些操作 AJAX调用 $.ajax( { type: "POST", url: "/bin/path/to/Servlet", data: $(this).serialize(), dataType: "html", success: function(responseValue) { if(responseVal
$.ajax( {
type: "POST",
url: "/bin/path/to/Servlet",
data: $(this).serialize(),
dataType: "html",
success: function(responseValue) {
if(responseValue == '200') {
// Do something
}else {
console.log("it is not 200");
}
},
error: trialForm.trialError
}).done(function(status) {
$(trialForm.submitButton).show();
$(trialForm.loader).hide();
});
}
SERVLET
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) {
response.setContentType("text/html");
URL url = new URL("www.apriurl.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type","application/json");
conn.setRequestProperty("Authorization","XXXXZZZZ " + strSig);
conn.setRequestProperty("Accept","application/json");
conn.setRequestProperty("ZZZZZ",clientID);
OutputStream os = conn.getOutputStream();
os.write(inputParameters.getBytes());
os.flush();
System.out.println(conn.getResponseCode());
response.getWriter().write(conn.getResponseCode());
}
- responseValue是java类中使用的变量
- 它具有正确的价值。在执行sys out后,我看到正在日志文件中打印的值
- 回答只是一个含糊不清的问号(?)。我把它记录下来了。我猜它与数据类型有关。我尝试了其他几种类型,但都做不到;我不明白。感谢您的帮助
- 这是在做
写入(int)
而不是写入(String)
因此,如果您写入(200),它将发送ascii值200
尝试以字符串形式发送200
作为
看
公共无效写入(INTC)
只写一个字符
你的问题不是很清楚。首先,您似乎没有将
responseValue
添加到servlet中的response
,而且您似乎也没有在JS中检索和使用responseValue
。对不起,我试图从帖子中删除不必要的代码。显然,我在这方面做得不好。基本上,Servelt与第三方api交互,无论它从第三方得到什么响应,它都会传递到AJAX。我从第三方获得的响应很好,我可以记录它,但无法将其传递给AJAXYes,我尝试了response.getWriter().write(“测试”)代码>取而代之的是ajax回调函数获取值,而不是乱码文本。谢谢!我写了response.getWriter().write(String.valueOf(conn.getResponseCode())代码>这绝对有效!我只是忙于幸灾乐祸地处理代码。非常感谢你!
response.getWriter().write(String.valueOf (conn.getResponseCode()));