此URL在浏览器中输出JSON
但是当我像下面的Jquery一样使用它时,它似乎输出了这个错误
{"STATUS":"ERROR","MESSAGE":"Error while retrieving availability. Search parameters are not valid. callback is not a valid request parameter. _ is not a valid request parameter.","RESPONSE_SENT_TS":"2014-08-15T12:16:01.455-07:00","REQUEST_RECD_TS":"2014-08-15T12:16:01.450-07:00"}
这是我正在使用的代码
var parkingUrl = "http://api.sfpark.org/sfpark/rest/availabilityservice?lat=37.7832776731&long=-122.405537559&radius=0.10&uom=mile&response=json";
$.ajax({
url:parkingUrl,
type:'GET',
dataType:'JSONP',
success: function(data){
console.log(data);
}
});
答案 0 :(得分:0)
您正在使用JSONP调用Web服务。 jQuery中的JSONP通过向url添加回调函数来工作,因此调用的url变为类似
webservice不支持此参数。你必须使用type:json并希望webservice支持CORS。
答案 1 :(得分:0)
您获得的错误基于服务器端脚本。
可能服务器可能不支持你想尝试的JSONP:
$.ajax({
url:parkingUrl,
type:'GET',
success: function(data){
console.log(JSON.parse(data));
}
});
页面的PHP代码
header('Access-Control-Allow-Origin: http://api.sfpark.org');
您也可以尝试,如果这不起作用,您可以尝试使用PHP或任何使用的方式在服务器端提取页面信息
$parkingURL = 'http://....';
echo file_get_contents($parkingURL);
答案 2 :(得分:0)
根据他们的API文档,他们确实支持JSONP,你需要添加这个参数:
&jsoncallback=callbackFunctionName
根据您的要求提供网址