フロントエンドとバックエンドの間で相互に値を転送するための値が多すぎると、書き込みが面倒で疲れ、エラーが発生しやすくなります。以下に、マーク タグ属性を使用して値を渡す一連の方法を示します。バックエンド値の取得とフロントエンド バインディングが大幅に簡素化されました。
$.extend({
//jsonオブジェクトを文字列に変換 [jqueryにはこのメソッドがないようです]
toJSONString: 関数 (オブジェクト) {
if (object == null)
return;
var type = オブジェクトのタイプ;
If ('オブジェクト' == 型) {
If (Array == object.constructor) type = 'array';
else if (RegExp == object.constructor) type = 'regexp';
else type = 'object';
}
スイッチ (タイプ) {
ケース「未定義」:
ケース「不明」:
return;
休憩;
ケース '関数':
ケース 'ブール値':
ケース '正規表現':
return object.toString();
休憩;
ケース '番号':
isFinite(object) を返しますか? object.toString() : 'null';
休憩;
ケース '文字列':
return '"' object.replace(/(
\|")/g, "
\$1").replace(/n|r|t/g, function () {
var a = argument[0];
return (a == 'n') ? '\n' : (a == 'r') ? '\r' : (a == 't') ?
'"';
休憩;
ケース 'オブジェクト':
If (object === null) return 'null';
var results = [];
for (オブジェクトの var プロパティ) {
var value = $.toJSONString(object[property]);
if (値 !== 未定義) results.push($.toJSONString(property) ':' value);
}
return '{' results.join(',') '}';
休憩;
ケース '配列':
var results = [];
for (var i = 0; i
var value = $.toJSONString(object[i]);
if (値 !== 未定義) results.push(値);
}
return '[' results.join(',') ']';
休憩;
}
}
});