我正在开发一个大量使用 AJAX 的 Web 应用程序。服务器通常通过一个数组来回答,以便连接响应的不同部分。
我想知道在以下两个中处理这些数组中的键的最佳解决方案是什么(未显示 JSON 编码和解码):
字符串
该解决方案易于阅读,尤其是在 JavaScript 中,但非常脆弱且难以维护。
PHP:
<?php
return array(
'key_name_1' => 'foo',
'key_name_2' => 'bar'
);
?>
JavaScript:
var result = ajax(...);
alert(result.key_name_1);
常数
这是一个可靠的解决方案,它允许使用短键和数字键,但它很重且难以阅读(在我的情况下,使用反射来自动生成 JavaScript 常量不是可接受的解决方案,并且无论如何也不能解决所有缺点) .
PHP:
<?php
class Answer
{
const CONSTANT_1 = 1;
const CONSTANT_2 = 2;
}
return array(
Answer::CONSTANT_1 => 'foo',
Answer::CONSTANT_2 => 'bar'
);
?>
JavaScript:
Answer.CONSTANT_1 = <?php echo Answer::CONSTANT_1; ?>
Answer.CONSTANT_2 = <?php echo Answer::CONSTANT_2; ?>
var result = ajax(...);
alert(result[Answer.CONSTANT_1]);
在你看来,最好的选择是什么?