对于这行代码:
var result = eval('('+result+')');
在此背景下:
function saveUser(){
alert(url);
$('#fm').form('submit',{
url: url,
onSubmit: function(){
return $(this).form('validate');
},
success: function(result){
var result = eval('('+result+')');
if (result.errorMsg){
$.messager.show({
title: 'Error',
msg: result.errorMsg
});
} else {
$('#dlg').dialog('close'); // close the dialog
$('#dg').datagrid('reload'); // reload the user data
}
}
});
}
如何修复错误?
答案 0 :(得分:2)
Uncaught SyntaxError是什么意思?
这意味着eval
无法解析输入(作为JavaScript),因为它包含<
,其中不应该有一个。 FWIW如果回复是HTML,JSON.parse
也无济于事。
如何修复错误?
您要么必须将响应视为预期如何处理,例如如果它是HTML,请不要通过eval
传递。
或者您修复服务器端并返回客户端期望的repsonse,例如JSON。