json解析消息时出错(在德语中)。

时间:2013-03-21 06:08:52

标签: php jquery json

我确实使用ajaxsubmit实现了提交。我的PHP代码(动作功能),

$printArr['succ'] = '1';
$printArr['msg'] = 'Ihr Passwort wurde erfolgreich geändert';
echo json_encode($printArr);
exit;

当我在js函数中得到响应时,它给了我错误。我的js代码,

submitHandler: function(form) {
            var options = {
                url:$('#persdata2').attr('action'),
                success:function(response){
                    data = $.parseJSON(response);
                    $('#password_err_content').html(data.msg);
                    $('#password_err_blk').slideDown();
                }
            };
            $("form#persdata2").ajaxSubmit(options);
            return false;
        }

错误

SyntaxError: JSON.parse: expected ',' or '}' after property value in object

如果我在

中传递简单信息

$printArr['msg'] = 'Password change successfully';

然后一切都很好。

帮帮我吧!

2 个答案:

答案 0 :(得分:1)

可能您想尝试json_encode($printArr, JSON_UNESCAPED_UNICODE)

CodeViper Demo

JSON_UNESCAPED_UNICODE从字面上对多字节Unicode字符进行编码(默认为以\ uXXXX转义)。从PHP 5.4.0开始提供。

答案 1 :(得分:0)

请在slideDown()之后删除\; \

   submitHandler: function(form) {
        var options = {
            url:$('#persdata2').attr('action'),
            success:function(response){
                data = $.parseJSON(response);
                $('#password_err_content').html(data.msg);
                $('#password_err_blk').slideDown(); // here the / is given 
            }
        };
        $("form#persdata2").ajaxSubmit(options);
        return false;
    }
希望它会有所帮助!