Java AJAX未收到来自servlet的响应

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向servlet发送帖子。Servlet执行一些计算并返回一个响应。AJAX成功函数读取响应并执行某些操作

AJAX调用

$.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()));