【问题标题】:Insert dynamically in database using ajax [closed]使用ajax动态插入数据库[关闭]
【发布时间】:2014-07-03 07:45:55
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 发布您用于输入的 html 表单。
  • 使用 jquery.ajax 将数据发布到 servlet,servlet 将插入数据
  • @aashish_soni 检查我的答案 n 请回复..

标签: java javascript ajax jsp


【解决方案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
    }
});

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

【讨论】:

  • @ScaryWombat 你是什么意思?
  • 一分钟前,有人对您投了反对票。我想知道为什么
  • @ScaryWombat 我不知道,也许是因为部分问题已解决?我假设您是取消该投票的人。谢谢朋友
  • 对不起,我不能删除别人的 DV - 我希望
【解决方案2】:

首先为那个写一个点击函数

$('#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");
        }
     });

希望对你有帮助

【讨论】:

  • 看看@paul 的答案,了解更清洁、更安全的方式
  • @ScaryWombat $post 不安全吗?
  • post 是安全的,不过我宁愿序列化表单
  • @ScaryWombat oh lyk dat..但我只是举了一个单个参数而不是表单的示例..即使是我需要序列化的单个参数?
  • 我也想成功。我并不是说你的方式无效
【解决方案3】:

答案取决于你想要什么。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2020-08-28
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多