Javascript 无法访问Zomato API JSON对象
我正在Udacity的web开发纳米学位课程中从事一个项目。我决定使用餐厅信息并生成API密钥。但是,当我在AJAX对象中使用它来获取数据时,开发工具会显示一个“无效API”错误。不过,API是正确的。请帮忙 这是我的密码:Javascript 无法访问Zomato API JSON对象,javascript,json,api,curl,zomato-api,Javascript,Json,Api,Curl,Zomato Api,我正在Udacity的web开发纳米学位课程中从事一个项目。我决定使用餐厅信息并生成API密钥。但是,当我在AJAX对象中使用它来获取数据时,开发工具会显示一个“无效API”错误。不过,API是正确的。请帮忙 这是我的密码: $(document).ready(function(){ $("button").click(function(){ $.get("https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID
$(document).ready(function(){
$("button").click(function(){
$.get("https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID", { "Accept": "application/json", "user-key": 'MY_API_KEY' }, function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
}))
以下是Zomato的文档:
卷曲:
网址:
请注意,我使用的餐厅ID和API是正确的。我不太懂PHP,所以我不知道curl是什么意思。请尝试下面的代码:
$(document).ready(function(){
$("button").click(function(){
$.get("https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID&apikey=MY_API_KEY", function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
但是,由于安全问题,不鼓励使用上述方法。通过在服务器端编写一个处理程序,可以使用PHP中的服务器到服务器调用访问ZomatoAPI,该处理程序可以作为ajax调用从button click事件调用。以下是PHP处理程序示例:
$curl_channel = curl_init('https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID&apikey=MY_API_KEY');
curl_setopt($curl_channel, CURLOPT_RETURNTRANSFER, true);
$curl_response = curl_exec($curl_channel);
curl_close($curl_channel);
//Convert output to object
$curl_output = json_decode($curl_response);
$(document).ready(function(){
$("button").click(function(){
$.get("https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID&apikey=MY_API_KEY", function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
$curl_channel = curl_init('https://developers.zomato.com/api/v2.1/restaurant?res_id=MY_RES_ID&apikey=MY_API_KEY');
curl_setopt($curl_channel, CURLOPT_RETURNTRANSFER, true);
$curl_response = curl_exec($curl_channel);
curl_close($curl_channel);
//Convert output to object
$curl_output = json_decode($curl_response);