如何在Java项目中使用Ajax?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java项目中使用Ajax?相关的知识,希望对你有一定的参考价值。

要简单的、详细的。

如果要使用ajax,必须要导入相应的jquery.js等才可以用。具体用法如下:

$.ajax(
type: "GET",
url: "test.json",
data: username:$("#username").val(), content:$("#content").val(),
dataType: "json",
success: function(data)
alert(data.status);
);
);
ajax技术适用于在页面不刷新的情况下前后台数据的动态数据交互。
参考技术A 上面都太麻烦了只要写一个函数就可以
<body>
<SCRIPT LANGUAGE="javascript">
function check()
var stuId = document.regForm.stuId.value;

var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
xmlHttp.open("GET", "check.do?stuId="+stuId, true);
xmlHttp.onreadystatechange=function()
if (xmlHttp.readyState==4)
checkResult.innerhtml = xmlHttp.responseText;

else
checkResult.innerHTML = "正在检测...";


xmlHttp.send();

</SCRIPT>
<form name="regForm">
请您输入学生学号:<input type="text" name="stuId" onblur="check()">
<div id="checkResult"></div><BR>
请您输入学生姓名:<input type="text" name="stuName"><BR>
<input type="button" value="提交按钮">
</form>
当stuId输入框失去焦点时执行javascript函数check()通过xmlHttp.open("GET", "check.do?stuId="+stuId, true);以get方式发送给check.do的servlet在servlet里用request获取传过去的stuId参数接下去就和一般的一样连数据库根据id,返回的结果checkResult.innerHTML = xmlHttp.responseText;会显示在div上,很简单
参考技术B Ext库也是不错的,相比dwr,Ext有更加丰富的界面元素,很多常用的功能强大的控件都集成到里面了,使用起来很简单,而且配有完整的API文档和每个控件的使用例子,下载一个Ext开发包就行了。地址: http://58.251.57.206/down?cid=B504FF90ED32DA43E27F08B65FD6116286246A9B&t=2&fmt=-在这里详细就没办法了,不过我当时也是拿着它的例子和API文档琢磨出使用方法的,最简单的情况下只要复制它的例子然后稍作修改就行了。 参考技术C 用dwr
下个dwr的jar包
配置dwr.xml
写been 之后js调用been

如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目

【中文标题】如何在 Java Spring Boot MVC 中使用 Ajax 删除多个项目【英文标题】:How to delete multiple items using Ajax in Java Spring Boot MVC 【发布时间】:2020-05-05 18:07:13 【问题描述】:

我正在尝试使用复选框和删除按钮来删除表格中的多个项目。我尝试在不同的论坛中搜索如何执行此操作,但可以看到解决方案。这是我最后的选择。

这是我的 Ajax 代码:

  $('#delete').on('click', function(e)
        // For selecting data in tables
           var selected = []; // for getting the checkbox value
           $('input[type="checkbox"]').each(function() 
               if ($(this).get(0).checked) 
                   selected.push($(this).attr('value'));
               
           ); 
           var formData = new FormData();
                    formData.append("assetID", selected);
                    $.ajax( 
                        url: "delete-asset", 
                        type: "POST", 
                        data: formData,
                        dataType: 'JSON',
                        enctype : 'multipart/form-data', 
                        processData : false,
                        contentType : false,
                        success : function(data) 
                             if (data.status == 1) 
                                openAlertDialog("Success", data.message, "Continue","manage-assets");
                             else 
                                openAlertDialog("Error", data.message, "Continue", "manage-assets");
                             
                         ,
                         error : function(data) 
                                openAlertDialog("Error", data.message, "Continue", "manage-assets");
                        ,
            );
       );

这是我的控制器

@RequestMapping(value = "/delete-asset", method = RequestMethod.POST)
    public @ResponseBody String deleteAsset(@ModelAttribute AssetCategory assetCategory) 

    JsonObject result = new JsonObject();
    assetService.deleteAssetByID(assetCategory.getAssetID());
    result.addProperty("result", "Success");
    result.addProperty("status", 1);
    result.addProperty("message", "Asset Deleted!");
    return "result.toString()";

现在我正在尝试删除一个项目,然后再继续删除多个项目。我遇到了 405 错误,由于这个问题无法继续。

【问题讨论】:

必须尝试缩小原因?您可以使用 Postman 或 Curl 仅尝试您的控制器吗? 我不知道如何使用邮递员或卷曲。我会阅读教程并尝试。谢谢 【参考方案1】:

如果你只是写 this.value 你应该得到选中项的值。

尝试使用此代码获取所有项目。

var selectedItem = new Array();
$('input[name="Item"]:checked').each(function() 
selectedItem.push(this.value);
);

在将存储在数组中的数据发送到控制器之前,只需尝试提醒数据以查看其是否正常工作,

我希望这会奏效

【讨论】:

这行得通。我更改了我的控制器以接受 Array 值。谢谢!

以上是关于如何在Java项目中使用Ajax?的主要内容,如果未能解决你的问题,请参考以下文章

java中如何项目启动就调用一个方法

如何在 Android Java 中发布 json 数据?

Java Web 项目学习 发布帖子 AJAX

ajax如何调用java写的webservices服务

java web项目启动后执行某个方法

SSM+RESTful+ajax——开发Java Web