Php 输入URL时JSON无效,但在复制和粘贴时有效

Php 输入URL时JSON无效,但在复制和粘贴时有效,php,javascript,json,windows-8,Php,Javascript,Json,Windows 8,我正在尝试验证Windows 8应用程序的以下JSON URL。问题是,运行以下代码时,它不会绑定到提供的列表框。我知道代码是有效的,并将其单选为我创建的JSON new WinJS.Binding.List(json.results); 此网站上的JSON在网站上显示为有效 https://example.com/app/example.php …如果我将URL复制并粘贴到JSON valadator(如jsonlint.com)中,我会得到: Parse error on line 1

我正在尝试验证Windows 8应用程序的以下JSON URL。问题是,运行以下代码时,它不会绑定到提供的列表框。我知道代码是有效的,并将其单选为我创建的JSON

 new WinJS.Binding.List(json.results);
此网站上的JSON在网站上显示为有效

https://example.com/app/example.php
…如果我将URL复制并粘贴到JSON valadator(如jsonlint.com)中,我会得到:

Parse error on line 1 <\!DOCTYPEhtmlPUBLIC" ^ Expecting '{', '['

第1行的解析错误问题是URL没有返回正确的JSON响应。它返回在格式化代码块中包含JSON的HTML响应。因此,当复制和粘贴它时,您的代码将看到所有包装它并将其破坏的HTML(因为它是无效的)

如果这是您控制的API,则需要在PHP脚本中设置
内容类型
头(
头(
),并且只返回json字符串,而不返回任何HTML代码

如果不是,最好的办法是获取URL,然后从响应中删除所有HTML,以便解析剩余的JSON。DOM解析库可能有助于实现这一点


编辑:看来响应现在(或已经)是正确的,并且在进行验证时很好。

谢谢,在测试之前,应用程序/json已经存在,并且出于某种原因在未意识到的情况下对其进行了注释。添加后确认为罚款