Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ajaxjson和jsp_Ajax_Json_Jsp - Fatal编程技术网

ajaxjson和jsp

ajaxjson和jsp,ajax,json,jsp,Ajax,Json,Jsp,我已经使用JSP和应用ajax调用创建了一个表单数据页,并希望在MS access中存储数据,但我发现了一些困难,因为表单数据没有存储,甚至控制台也没有显示任何错误。。 请引导我 我的login.jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html> <html> <head&

我已经使用JSP和应用ajax调用创建了一个表单数据页,并希望在MS access中存储数据,但我发现了一些困难,因为表单数据没有存储,甚至控制台也没有显示任何错误。。 请引导我

我的login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
 <head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<script type="text/javascript">

       function sendData()
       {
              alert("I m in SendData Function");
              var email=$('#email').val();
              var name=$('#name').val();
              var password=$('#password').val();

              alert("i am in senddata mode");
              var jsonDataObject=new Object();
              alert(" JSON call");
              jsonDataObject.name=name;
              jsonDataObject.email=email;
              jsonDataObject.password=password;


        var jsonString= JSON.stringify(jsonDataObject);
        alert("Before Ajax call");

        $.ajax({

                     type:"POST",

                     url:"localhost:8080/RestDemo/UserInfoService",

                     dataType:"json",
                     data:jsonString

       });

              alert("After Ajax Call Send Data");

}      
</script>
</head>
<body bgcolor=#D8D8D8>
<form name="form"  method="post" onsubmit="sendData()">
<div style="margin-left:300px;margin-top:110px;background-color:#5FB404;padding:20px;width:650px;height:450px" >
<h1><center> Login Registration Form</center></h1>
<pre>
<p style="font-size:20px">
NAME          :<input type="text" name="name" id="name" ><br>
EMAIL         :<input type="text" name="email" id="email" ><br>
PASSWORD      :<input type="password" name="password" id="password">
<center><input type="submit" name="submit" value="SUBMIT"  style="padding:7px"></center>

</p></pre>

 </div>
</form>
</body>
</html>
4.UserDetailDao.java

package Service;
import java.sql.*;

public class UserDetailsDaoImpl implements UserDetailsDao {


    @Override
    public void getUserDetails(String name, String email, String password) 
    {
          System.out.println("Test");
               try
               {
                    Connection conn;
                    Statement stmt;
                    ResultSet rs;
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
               conn=DriverManager.getConnection("jdbc:odbc:DataInsert","","");
               stmt=conn.createStatement();

               int nrow=stmt.executeUpdate("Insert into UserTable values('"+name+"','"+email+"','"+password+"')");
              if(nrow>0)
               {       
               System.out.println("Record Inserted");
               }
               rs=stmt.executeQuery("SELECT * FROM UserTable");
               while(rs.next())
               {
                  String getName = rs.getString(1);
                  String getEmail = rs.getString(2);
                  String getPassword = rs.getString(3);

               System.out.println(getName+"     "+getEmail+"         "+getPassword);
              }
             rs.close();
             stmt.close();
             conn.close();

             }   //end of try block 
             catch(ClassNotFoundException e)
             {

            e.printStackTrace();

            }
            catch(SQLException w)
            {
            w.printStackTrace();

            }
        }

}
5.UserDetailDaoImpl.java

 $.ajax({
                     type:"POST",
                     url:"/UserInfoService",
                     dataType:"json",
                     data:jsonString

       });

您应该在ajax帖子中更改此URL
URL:“localhost:8080/RestDemo/UserInfoService”
应该是
Web.xml中映射的servlet文件的URL模式

  New login.jsp page

   <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<script type="text/javascript">

       function sendData()
       {
              alert("I m in SendData Function");
              var email=$('#email').val();
              var name=$('#name').val();
              var password=$('#password').val();


              alert("i am in SendData mode");

              var arr = {"name":  name,
                      "email": email,
                      "password": password              
                        };



        alert("Before Ajax call");

        $.ajax({

                     type:"POST",

                     url:"rest/UserInfoService",

                     dataType:"json",
                     data:arr


       });

              alert("After Ajax Call Send Data");

}      
</script>
</head>
<body bgcolor=#D8D8D8>
<form name="form"  method="post" onsubmit="sendData()">
<div style="margin-left:300px;margin-top:110px;background-color:#5FB404;padding:20px;width:650px;height:450px" >
<h1><center> Login Registration Form</center></h1>
<pre>
<p style="font-size:20px">
NAME          :<input type="text" name="name" id="name" ><br>
EMAIL         :<input type="text" name="email" id="email" ><br>
PASSWORD      :<input type="password" name="password" id="password">
<center><input type="submit" name="submit" value="SUBMIT"  style="padding:7px"></center>

</p></pre>

 </div>
</form>
</body>
</html>
如果上述方法不起作用,请尝试使用
/rest/UserInfoService

我希望您正在从jsp文件调用
UserInfo
New login.jsp页面
登录
函数sendData()
{
警报(“我在SendData函数中”);
var email=$('#email').val();
var name=$('#name').val();
var password=$('#password').val();
警报(“我处于发送数据模式”);
var arr={“name”:name,
“电子邮件”:电子邮件,
“密码”:密码
};
警报(“在Ajax调用之前”);
$.ajax({
类型:“POST”,
url:“rest/UserInfoService”,
数据类型:“json”,
数据:arr
});
警报(“Ajax调用后发送数据”);
}      
登入登记表格

名称:
电子邮件:
密码:


请格式化您的代码并说明您的问题。你试过调试吗?请指导ajax调用中的URL应该是什么?谢谢你的回答。它确实帮助了我。程序工作。但是通过MS access中的jsp页面插入的数据显示为空。ajax调用、sql或连接中是否有任何问题?请给我解释一下?检查数据库中的数据类型当我以数组的形式发送数据而不是使用stringify函数时,它起作用:var arr={“name”:name,“email”:email,“password”:password};谢谢@San krish:)
package Service;
import java.sql.*;

public class UserDetailsDaoImpl implements UserDetailsDao {


    @Override
    public void getUserDetails(String name, String email, String password) 
    {
          System.out.println("Test");
               try
               {
                    Connection conn;
                    Statement stmt;
                    ResultSet rs;
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
               conn=DriverManager.getConnection("jdbc:odbc:DataInsert","","");
               stmt=conn.createStatement();

               int nrow=stmt.executeUpdate("Insert into UserTable values('"+name+"','"+email+"','"+password+"')");
              if(nrow>0)
               {       
               System.out.println("Record Inserted");
               }
               rs=stmt.executeQuery("SELECT * FROM UserTable");
               while(rs.next())
               {
                  String getName = rs.getString(1);
                  String getEmail = rs.getString(2);
                  String getPassword = rs.getString(3);

               System.out.println(getName+"     "+getEmail+"         "+getPassword);
              }
             rs.close();
             stmt.close();
             conn.close();

             }   //end of try block 
             catch(ClassNotFoundException e)
             {

            e.printStackTrace();

            }
            catch(SQLException w)
            {
            w.printStackTrace();

            }
        }

}
 $.ajax({
                     type:"POST",
                     url:"/UserInfoService",
                     dataType:"json",
                     data:jsonString

       });
  New login.jsp page

   <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<script type="text/javascript">

       function sendData()
       {
              alert("I m in SendData Function");
              var email=$('#email').val();
              var name=$('#name').val();
              var password=$('#password').val();


              alert("i am in SendData mode");

              var arr = {"name":  name,
                      "email": email,
                      "password": password              
                        };



        alert("Before Ajax call");

        $.ajax({

                     type:"POST",

                     url:"rest/UserInfoService",

                     dataType:"json",
                     data:arr


       });

              alert("After Ajax Call Send Data");

}      
</script>
</head>
<body bgcolor=#D8D8D8>
<form name="form"  method="post" onsubmit="sendData()">
<div style="margin-left:300px;margin-top:110px;background-color:#5FB404;padding:20px;width:650px;height:450px" >
<h1><center> Login Registration Form</center></h1>
<pre>
<p style="font-size:20px">
NAME          :<input type="text" name="name" id="name" ><br>
EMAIL         :<input type="text" name="email" id="email" ><br>
PASSWORD      :<input type="password" name="password" id="password">
<center><input type="submit" name="submit" value="SUBMIT"  style="padding:7px"></center>

</p></pre>

 </div>
</form>
</body>
</html>