什么是Uncaught SyntaxError:意外的令牌<意思?

时间:2014-10-08 06:34:54

标签: javascript php codeigniter

对于这行代码:

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
                }
            }
        });

    }

如何修复错误?

1 个答案:

答案 0 :(得分:2)

  

Uncaught SyntaxError是什么意思?

这意味着eval无法解析输入(作为JavaScript),因为它包含<,其中不应该有一个。 FWIW如果回复是HTML,JSON.parse也无济于事。

  

如何修复错误?

您要么必须将响应视为预期如何处理,例如如果它是HTML,请不要通过eval传递。

或者您修复服务器端并返回客户端期望的repsonse,例如JSON。