如何在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?的主要内容,如果未能解决你的问题,请参考以下文章