프런트엔드와 백엔드 간의 상호 가치 전달을 위한 값이 너무 많으면 작성이 번거롭고 피곤하며 오류가 발생하기 쉽습니다. 다음은 마크 태그 속성을 사용하여 값을 전달하는 일련의 방법입니다. 백엔드 값 획득 및 프런트엔드 바인딩이 크게 단순화되었습니다.
$.extend({
//json 객체를 문자열로 변환 [jquery에는 이 메소드가 없는 것 같습니다]
toJSONString: 함수(객체) {
if (객체 == null)
반품;
var type = 객체 유형;
If ('객체' == 유형) {
If (Array == object.constructor) type = 'array';
else if (RegExp == object.constructor) type = 'regexp';
else type = '객체';
}
스위치(유형) {
'정의되지 않음':
사례 '알 수 없음':
반품;
휴식;
케이스 '함수':
사례 '부울':
사례 'regexp':
return object.toString();
휴식;
사례 '번호':
isFinite(object) ? object.toString() : 'null';
휴식;
케이스 '문자열':
return '"' object.replace(/(
\|")/g, "
\$1").replace(/n|r|t/g, function () {
var a = 인수[0];
return (a == 'n') ? '\n' : (a == 'r') ? '\r' : (a == 't') ? '\t' : ""
'"';
휴식;
케이스 '개체':
(객체 === null)인 경우 'null'을 반환합니다.
var 결과 = [];
for(객체의 var 속성) {
var value = $.toJSONString(object[property]);
if (값 !== 정의되지 않음) results.push($.toJSONString(property) ':' value);
}
return '{' results.join(',') '}';
휴식;
케이스 '배열':
var 결과 = [];
for (var i = 0; i
var 값 = $.toJSONString(object[i]);
if (값 !== 정의되지 않음) results.push(값);
}
return '[' results.join(',') ']';
휴식;
}
}
});