0

我正在使用 Javascript 在 php 页面上执行 GET 请求,但是当我尝试将 php 页面解析为 JSON 时,出现以下错误:

Uncaught SyntaxError: Unexpected token < 

我想是因为在 PHP 页面的底部,存在以下注释:

<!-- url here compressed/chunked Tue Sep  4 17:15:42 PDT 2012 -->
4

2 回答 2

1

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 中的这些信息,对吗?

于 2012-09-05T00:43:33.930 回答
-1

假设您无法控制数据提供者。此外,将 HTML 注释放在 json 响应中也是一种糟糕的形式。任何类似的元定义都应该在实际的标头信息中。

在 JS 中,只需在索引处拆分字符串

function(data){

      var jsonString = data.substring( 0, data.indexOf("<!"));    
      var jsonObject = JSON.parse( jsonString);

}

如果 < 是数据中的有效字符,请为 HTML 注释执行正则表达式。看到这个帖子。

于 2012-09-05T00:27:41.337 回答