我有一个脚本,在提交后“记住”输入字段中的值。
var previousData = <? php echo json_encode($_POST, JSON_UNESCAPED_UNICODE); ?> ;
for (item in previousData) {
if (previousData.hasOwnProperty(item)) {
// Set the value to the input with same name
$('input[name=' + item + ']').val(previousData[item]);
$('select[name=' + item + ']').val(previousData[item]);
}
}
问题是我收到语法错误:
SyntaxError: syntax error
var previousData = ;
当我删除JSON_UNESCAPED_UNICODE
时,它完美无缺。为什么呢?
答案 0 :(得分:2)
将previousData
值换成引号' '
或双引号" "
:
var previousData = '<?php echo json_encode($_POST,JSON_UNESCAPED_UNICODE); ?>';
答案 1 :(得分:0)
此处需要引用:
var previousData = '<?php echo json_encode($_POST,JSON_UNESCAPED_UNICODE); ?>';
如果您需要解析您的json,请执行以下操作:
var previousData = JSON.parse('<?php echo json_encode($_POST,JSON_UNESCAPED_UNICODE); ?>');
您应该使用JSON.parse()
解析json。
答案 2 :(得分:0)
用引号括起您的代码:
var previousData = '<?php echo json_encode($_POST,JSON_UNESCAPED_UNICODE); ?>'; //single or double quotes here
for (item in previousData) {
if (previousData.hasOwnProperty(item)) {
// Set the value to the input with same name
$("input[name='"+item+"']").val(previousData[item]); //Double quotes here
$("select[name='"+item+"']").val(previousData[item]); //Double quotes here