繁体   English   中英

如何在不重新加载的情况下从jsp页面获取响应?

[英]How to get response from jsp page without reloading?

我正在尝试建立一个论坛,在我们提交表单时,帖子应保存到数据库中并显示在表单下方。 它已保存到数据库中,但仅在我们重新加载页面后才显示。 提交表单时,它会以某种方式显示吗?

<%@ page import="java.sql.*"%>
<%@page import="org.json.*"%>
<%
    System.out.println("Start");
    String value = request.getParameter("jsonData");
    JSONObject newObj = new JSONObject();

    try {
        newObj = new JSONObject(request.getParameter("jsonData"));
    } catch (JSONException e) {
        e.printStackTrace();
    }

    String title = "";
    String tag = "";
    String postData = "";

    try {
        title = newObj.getJSONObject("mydata").getString("title");
        tag = newObj.getJSONObject("mydata").getString("tag");
        postData = newObj.getJSONObject("mydata").getString("postData");
    } catch (JSONException e) {
        e.printStackTrace();
    }
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?useSSL=true", "root", "1111");
        //System.out.println(con);
        PreparedStatement ps = con.prepareStatement("insert into forumdb.userpost(title,post,tag) values(?,?,?)");
        ps.setString(1, title);
        ps.setString(2, postData);
        ps.setString(3, tag);
        ps.executeUpdate();
        con.close();
    } catch (Exception e) {
    }
    System.out.println("End");

    response.setContentType("text/html");
    response.getWriter().write("success"); 
%>



var request;  
     function postArticle() {
            var title=document.postform.title.value;  
            var postDescription = CKEDITOR.instances.postDescription.getData();
            var tag=document.postform.tag.value;  
            var myData = {"mydata": {"title": title, "tag": tag, "postData":postDescription}};
            $.ajax({
                type: "POST",
                url: "/forum1/index.jsp",
                data: {jsonData: JSON.stringify(myData)},
                dataType: "json",
                success:  function(){
                    if(success==false)
                    {   location.reload(); }
                    }    
            });
        }

您希望发送请求而不刷新页面。 您可以将AJAX用于相同的功能。 XHR在AJAX中用于将请求发送到页面并执行所需的操作而无需刷新页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM