0

私は 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';

その後、すべてが順調です。

手伝ってください!

4

2 に答える 2

1

試してみたいかもjson_encode($printArr, JSON_UNESCAPED_UNICODE)

CodeViper デモ.

JSON_UNESCAPED_UNICODE : マルチバイト Unicode 文字を文字どおりにエンコードします (デフォルトでは \uXXXX としてエスケープします)。PHP 5.4.0 以降で利用可能です。

于 2013-03-21T06:16:04.283 に答える
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;
    }

それが役立つことを願っています!

于 2013-03-21T06:14:41.600 に答える