当运行GET请求时,站点返回一个字符串而不是JSON,并在字符串的开头添加一个问号。
?({ "Years": {"min_year":"1941", "max_year":"2017"} });
我尝试在PHP中使用 json_encode()函数。但是,它返回 NULL 。
结果来自此网站:https://www.carqueryapi.com/api/0.3/?callback=?&cmd=getYears
有谁知道如何将结果转换为JSON?谢谢,
答案 0 :(得分:5)
如果从不带callback
参数的URL获取结果,则可以获得标准JSON格式。
https://www.carqueryapi.com/api/0.3/?cmd=getYears
{ "Years": {"min_year":"1941", "max_year":"2017"} }
答案 1 :(得分:2)
这基本上是JSONP。它们返回一个带有JSON结果的函数?()。您需要删除外部函数,如has been described previously。
他们提供了实现JSONP的方法,这是违反同源策略的Ajax调用的解决方法。这issue and technique is discussed here。
话虽如此,Ben发现如果没有回调参数,你可以避免整个问题。