[입자 귀 창] (1) jQuery easyui datagrid 데이터 로드
1. ajax 대상 url 에서 돌아 오 는 json 데 이 터 를 불 러 옵 니 다.
우선, ajax 를 통 해 목표 url 을 불 러 오 는 값 이 꼭 json 형식 은 아 닙 니 다.http://blog.csdn.net/luckystar689/article/details/51107388 이 글 에서 건물 주 는 MVC 의 전송 값 이 View 로 돌아 가 는 집중 데이터 형식 을 소개 했다. 이 블 로그 에 대한 사 고 는 드 롭 다운 상자, 표, text 상자 에 대해 우리 가 어떤 유형의 데 이 터 를 전달 해 야 하 는 지 정리 했다.datagrid 에 대해 서 는 json 으로 반환 값 을 전달 하 는 것 을 선택 합 니 다.
형식 1:
<span style="font-family:Microsoft YaHei;font-size:14px;">function SelectSubsidiary() {
//
var CadresType = $('#DictionaryName12').combobox('getText');
//
var SubsidiaryName = $('#UnitName1234').combobox('getText');
$('#dg').datagrid({
url: '/CadresBasicInfo/SelectSubsidiaryName?CadresType=' + CadresType + '&SubsidiaryName =' + SubsidiaryName
});
//
$("#dg").datagrid("reload");
}
</span>
이 형식 은 JQuery EasyUI 의 datagrid 방법 을 통 해 직접 값 을 전달 합 니 다. url 에서 여러 개의 인 자 를 전달 할 때 따옴표 안에 빈 칸 이 있어 서 는 안 됩 니 다. 이렇게:
<span style="font-family:Microsoft YaHei;font-size:14px;"> url: '/CadresBasicInfo/SelectSubsidiaryName?CadresType=' + CadresType + '&SubsidiaryName =' + SubsidiaryName
</span>
Controller 에서 우리 가 쓴 View 를 받 아들 이 는 코드 는 다음 과 같 습 니 다.
<span style="font-family:Microsoft YaHei;font-size:14px;"> string SubsidiaryName = Request["SubsidiaryName"];</span>
여기 서 문제 가 발생 할 수 있 습 니 다. 저 는 값 을 전달 할 때 코드 규범 에서 '=' 의 양측 에 빈 칸 이 있어 야 한 다 는 것 을 알 게 되 었 습 니 다. 그러나 실제 Controller 에 올 라 온 변 수 는 'Subsidiary Name' 입 니 다. 빈 칸 이 하나 더 있어 서 여러 개의 인 자 를 전달 할 때 Controller 에서 하나의 값 만 받 을 수 있 습 니 다. 이런 방식 은 조심해 야 합 니 다.
형식 2:
<span style="font-family:Microsoft YaHei;font-size:14px;"> $.post("/CadresBasicInfo/EditCadresBasicInfo",
{
"sex": sex, "dictionaryname": dictionaryname, "education": education, "principle": principle, "id": id, "name": name, "position": position, "workexperience": workexperience, "birthday": birthday, "worktime": worktime, "partytime": partytime, "tel": tel
},
function (result) {
if (result) {
$.messager.alert(' ', ' !', 'info')
$("#editCadresBasicWindow").window("close");
$("#dg").datagrid("reload");
} else {
$.messager.alert(' ', ' !', 'warning')
}
})
</span>
js 에 서 는 ajax 방법 을 사용 하여 주소 (/ controllor / action) 를 통 해 post 또는 get 요청 을 보 내 고 주소 에 대응 하 는 control 의 한 action 을 실행 할 수 있 습 니 다.이 때 여러 개의 인 자 를 전달 합 니 다. {"param 1": A, "param 2": B} 방식 은 형식 1 url 의 전 참 방식 에 비해 형식 이 합 리 적 이 고 오류 확률 도 낮 습 니 다.
Controller 의 반환 값 에 대한 처 리 는 result 의 진 위 를 판단 하 는 방법 외 에 success, complete, failed 를 써 서 판단 할 수 있 습 니 다.
2. loadDate 방법
이 방법 은 datagrid 표 로 불 러 오 는 확장 으로 시험 시스템 코드 에 유용 합 니 다.
<span style="font-family:Microsoft YaHei;font-size:14px;">function doSearch(value) {
var flag=(value != "");
if (flag) {
var grid = $('#dg');
var options = grid.datagrid('getPager').data("pagination").options;
var curr = options.pageNumber;
var pageSize = options.pageSize;
$.ajax({
type: "POST", // POST GET
async: false,
url: "/QuestionType/FuzzyQueryQuestionType", // url url
data: { "SearchContent": value, "pageSize": pageSize, "pageIndex": curr },
success: function (data) {
var jsondata = eval(data);
//var jsData = (new Function("", "return " + data))();
$('#dg').datagrid('loadData', data);
}
});
return;
}</span>
분명히 $('\ # dg'). datagrid ('loadDate', date) 라 는 문장의 date 는 date: {'Search Content': value, 'pageSize': pageSize} 에서 json 문자열 로 규정 되 어 있 기 때문에 LoadDate 방법 은 로 컬 js 의 데이터 만 불 러 오고 최종 적 으로 불 러 온 data 값 은 json 문자열 이 아 닌 json 대상 으로 변환 해 야 합 니 다.
<span style="font-family:Microsoft YaHei;font-size:14px;">var data = '{"total":1,"rows":[{"id":"001","name":"Vincent","role":" "}]}';
data = JSON.parse(data);// json
$('#dg').datagrid('loadData', data); </span>
이로써 MVC 를 응용 한 후 데이터 grid 에 대한 데 이 터 를 불 러 옵 니 다. 현재 프로젝트 의 응용 은 이 정도 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.