使用ajax在数据库中动态插入

时间:2014-07-03 07:45:56

标签: java javascript ajax jsp

我有一个显示一些记录的jsp,现在我想在jsp中添加一个链接/按钮,以便在不刷新页面的情况下动态插入数据库。

该链接打开一个弹出窗口,其中包含一些输入字段和提交按钮,我可以在Db中插入并将其重定向到相同的jsp而不刷新。

伙计们帮助我或给我一些链接......这对我来说是全新的..

感谢

3 个答案:

答案 0 :(得分:1)

这里是从客户端向您的控制器提交表单的代码。

$.ajax({
    dataType: "json",
    method: "POST",
    url: 'publicProcurements/' + publicProcurementId + '/selectCandidates/informCandidacies/saveInformCandidacies.do',
    data: $('#informCandidaciesForm').serialize(),
    success: function (data) {
        //Whatever you want, like close the dialog
    }
});

关于如何在控制器上的数据库上保存此表单的逻辑是提供的代码太多。在这里我们回答问题,不要为我的朋友制作代码。

答案 1 :(得分:0)

首先为该

编写一个点击功能
$('#id_button').click(function(){
        //get all the required parameters using jquery here using .val
          var param1 = $('#param1').val();
        //alert(s_id);
        $.post('../servlet_name',{param1:param1},function(msg) {

 });

接下来在您的servlet request.getParameter("param1")中执行插入部分。

接下来将响应传递给ajax,说明其完成,例如标志

PrintWriter writer = response.getWriter();
writer.println("1");

现在回到ajax函数 该值将在ajax函数中以msg的形式检索 这里msg将等于1,就像你从servlet发送它一样

接下来,您可以提醒您的用户已插入数据

$.post('../servlet_name',{param1:param1},function(msg) {
        if(msg=="1"){
          alert("data added");
        }
     });

希望这有帮助

答案 2 :(得分:0)

答案取决于你想要的。

HTML文件中的链接/按钮:

<a href='' id='insertButton'>Insert</a>

ajax的脚本(确保在包含jQuery插件之后放置它):

$("#insertButton").click(function(event){

    var request = $.ajax({

        type: "POST", //default is GET
        url: "controller/action", //replace with your method URL
        data: {} //here you pass the parameters (ex. data:{name: 'John', age: 45}) 

    });
    request.done(response){
        console.log("Response:");
        console.log(response);
        yourCallbackFunction(response); //Update view with the response
    }
    request.fail(error){
        console.log("Error:");
        console.log(error);
    }

    return false; //so the user won't be redirected by input's submit behavior.

});

如果您需要动态地将视图(html)与数据库同步,则应该查看Angular JSFirebase