0

この問題は、かなり長い間私のエラー ログを詰まらせてきました。関数は私がやりたいことをやっていますが、このメッセージは私を夢中にさせます!

function togglePreview( link_id ) {  
        var data = { ajax_cmd: 'get_embed_html', link_id: link_id };
        jQuery.post("?", data, function(json) {
            if (json.html) {
                jQuery( "#listen_" + link_id ).html( json.html );
            }
        }, "json"); 
}

サーバー側には、数行の PHP があります。

<?php
header('Content-Type: application/json');
$html = get_embed_html( $_REQUEST['link_id'] );
echo json_encode( array("html" => $html) ); 
?>

サーバーからの JSON 文字列は次のように出力されます。

{"html":"<iframe frameborder=0 height=400 width=100% src='http:\/\/www.youtube.com\/watch?v=ozhtg6FuD8A'><\/iframe><noscript>JavaScript is required to load the comments.<\/noscript>\n<div class=\"inline-comments-container\" name=\"comments\">\n    <div id=\"inline_comments_ajax_handle\" class=\"last-child\" data-post_id=\"26\">\n    <div id=\"inline_comments_ajax_target\" style=\"display: none;\"><\/div>\n    <div class=\"inline-comments-loading-icon\">Loading Comments&#8230;<\/div>\n    <input type=\"hidden\" name=\"inline_comments_nonce\" value=\"c16a7993ab\" id=\"inline_comments_nonce\" \/>\n            <div class=\"inline-comments-content\">\n            <div class=\"inline-comments-p\">\n                <form action=\"javascript:\/\/\" method=\"POST\" id=\"default_add_comment_form\">\n                    <input type=\"hidden\" name=\"inline_comments_nonce\" value=\"c16a7993ab\" id=\"inline_comments_nonce\" \/>\n                    <span class=\"inline-comments-profile-pic-container\"><img alt='' src='https:\/\/graph.facebook.com\/FACEBOOKID\/picture?type=large' class='avatar avatar-32 photo' height='32' width='32' \/><\/span>                    <textarea placeholder=\"Press enter to submit comment&#8230;\" tabindex=\"4\" id=\"comment\" name=\"comment\" id=\"inline-comments-textarea\" class=\"inline-comments-auto-expand submit-on-enter\"><\/textarea>\n                    <!--<span class=\"inline-comments-more-handle\"><a href=\"#\">more<\/a><\/span>-->\n                    <div class=\"inline-comments-more-container\" style=\"display: none;\">\n                        <div class=\"inline-comments-field\"><input type=\"text\" tabindex=\"5\" name=\"user_name\" id=\"inline_comments_user_name\" placeholder=\"Name&#8230\" value=\"greeny\"  \/><\/div>\n                        <div class=\"inline-comments-field\"><input type=\"email\" required tabindex=\"5\" name=\"user_email\" id=\"inline_comments_user_email\" placeholder=\"Email&#8230\" value=\"email@example.com\"  \/><\/div>\n                        <div class=\"inline-comments-field\"><input type=\"url\" required tabindex=\"6\" name=\"user_url\" id=\"inline_comments_user_url\" placeholder=\"Website&#8230\" value=\"\" \/><\/div>\n                    <\/div>\n                <\/form>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>"}

JS 関数の togglePreview(4) を呼び出すと、次のエラー コードが表示されます。

Uncaught SyntaxError: Unexpected token )

うまくいけば、それは私が見落とした非常に単純なものです!

4

1 に答える 1

0

magic_quotes_runtime をオンにしている可能性がありますか? これにより、json 文字列にランダムなエスケープ文字が追加される可能性があります。

于 2013-05-16T19:46:10.583 に答える