0
此问题已堵塞我的错误日志很长一段时间了。该功能正在做我想做的事情,但这个消息让我疯狂!未解析的SyntaxError:意外的标记)解析与HTML内的JSON字符串
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…<\/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…\" 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…\" 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…\" value=\"[email protected]\" \/><\/div>\n <div class=\"inline-comments-field\"><input type=\"url\" required tabindex=\"6\" name=\"user_url\" id=\"inline_comments_user_url\" placeholder=\"Website…\" value=\"\" \/><\/div>\n <\/div>\n <\/form>\n <\/div>\n <\/div>\n <\/div>\n<\/div>"}
当调用JS功能togglePreview( 4),我收到以下错误代码:
Uncaught SyntaxError: Unexpected token)
希望这件事很简单,我忽略了!
出于好奇,你为什么传递html包装在json中?这似乎没有必要。只需传递html即可完全避免此问题。 – Deadron
根据http://jsonformatter.curiousconcept.com/您的JSON似乎有效。这个错误来自JS,但是来自您发布的代码,似乎没有什么错误。也许你的代码的其他部分? – RaphaelDDL
提供的代码看起来不错。 HTML不包含脚本,所以这不应该是一个问题。只需仔细检查你的代码,仔细检查你是否有正确的开口和右括号对 –