我正在使用 Javascript 在 php 页面上执行 GET 请求,但是当我尝试将 php 页面解析为 JSON 时,出现以下错误:
Uncaught SyntaxError: Unexpected token <
我想是因为在 PHP 页面的底部,存在以下注释:
<!-- url here compressed/chunked Tue Sep 4 17:15:42 PDT 2012 -->
我正在使用 Javascript 在 php 页面上执行 GET 请求,但是当我尝试将 php 页面解析为 JSON 时,出现以下错误:
Uncaught SyntaxError: Unexpected token <
我想是因为在 PHP 页面的底部,存在以下注释:
<!-- url here compressed/chunked Tue Sep 4 17:15:42 PDT 2012 -->
PHP 文件中的注释是 HTML 注释,不应在 JSON 响应中发送(它应该只包含纯 JSON)
你可以
a) 从 PHP 文件中完全删除注释或
b) 将其放在 PHP 部分中(使用 PHP 样式的注释)
<?php /* url here compressed/chunked Tue Sep 4 17:15:42 PDT 2012 */ ?>
<?php
// url here compressed/chunked Tue Sep 4 17:15:42 PDT 2012
?>
我不认为,您将需要 JSON 中的这些信息,对吗?
假设您无法控制数据提供者。此外,将 HTML 注释放在 json 响应中也是一种糟糕的形式。任何类似的元定义都应该在实际的标头信息中。
在 JS 中,只需在索引处拆分字符串
function(data){
var jsonString = data.substring( 0, data.indexOf("<!"));
var jsonObject = JSON.parse( jsonString);
}
如果 < 是数据中的有效字符,请为 HTML 注释执行正则表达式。看到这个帖子。