通常情况下我们会获取所选取行对象的ID,通过循环及简单封装拼凑成一个长String传送过去,并在Service层解释再通过findByID获取实例并update

但今次我们需要将整个对象群完">

 >  기사  >  웹 프론트엔드  >  JS의 Array 객체 배열을 JSON format_javascript 기술로 백그라운드에 전달하는 방법

JS의 Array 객체 배열을 JSON format_javascript 기술로 백그라운드에 전달하는 방법

WBOY
WBOY원래의
2016-05-16 17:05:181023검색

비즈니스는 업데이트 작업을 위해 프론트엔드 jQuery easyUI DataGrid 목록에서 선택된 여러 행의 데이터를 백그라운드로 전송해야 합니다.
JS의 Array 객체 배열을 JSON format_javascript 기술로 백그라운드에 전달하는 방법

일반적으로 우리는 다음을 통해 선택된 행 객체의 ID를 얻습니다. 루프 그리고 간단히 긴 문자열로 캡슐화하여 서비스 계층으로 보낸 다음 findByID를 사용하여 인스턴스를 가져와 업데이트합니다

하지만 이번에는 전체 객체 그룹을 백그라운드로 완전히 전송해야 합니다

구조는 다음과 같습니다
JS의 Array 객체 배열을 JSON format_javascript 기술로 백그라운드에 전달하는 방법

Google의 GSON 플러그인과 json2.js를 함께 사용합니다

프론트엔드 코드는 다음과 같습니다. 몇 가지 간단합니다. 단순화를 위해 인증 코드가 제거되었습니다.

코드 복사 코드는 다음과 같습니다.

varrows = $('#dg1').datagrid('getSelections');
$.ajax({
cache : false,
type : "POST",
url : _basePath '/sectionGroup/pair',
data : {rows : JSON.stringify(rows ), group_id : group_id, group_name : group_name},
success : function(data) {
if(data.success = = true){
$.messager.confirm('구성 성공','목록을 새로 고칠지 여부', function(r){
if (r){
$('#dg'). datagrid('reload');
$('#dg1').datagrid(' reload')
$('#dg2').datagrid('reload')
}
});
}else{
$.messager.show({
title:'Prompt',msg:'구성 실패',
showType:'fade',style:{right:' ',bottom:''}
});
}
}
})

이 페이지에는 json2.js가 필요합니다

백그라운드 컨트롤러는 다음을 받습니다.
코드 복사 코드는 다음과 같습니다.

@ RequestMapping(value = "/pair")
@ResponseBody
public ResponseData pair(String 행, String group_name , String group_id, HttpServletRequest request) {
User user = (User) SecurityContextUtil.getCurrentUser(); 🎜>if (user == null) {
user = (User) request.getSession().getAttribute( Constants.USER_OS)
}
Gson gson = new Gson()
List< ;SectionGroup> list = gson.fromJson(rows, new TypeToken>() {}.getType ())
for (SectionGroup sectionGroup : list) {
sectionGroup.setRegion(user. getRegion_id());
sectionGroup.setCompany_id(user.getOrg_id());
sectionGroup.setGroup_id(group_id)
service.insertEntity(sectionGroup); 🎜>}
return ResponseData.SUCCESS_NO_DATA;
}


여기서 GSON 및 TypeToken은 GSON 패키지에 도입된 클래스입니다.
입력 매개변수 행은 문자열이어야 합니다. type

Gson 변환 후에도 List는 여전히 일반 인터페이스이며 프런트 엔드의 전체 Object 객체가 내부적으로 로드됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.