嗨,我有这个php代码,可从服务器以JSON字符串的形式获取数据。所以我的问题是我该如何使用JavaScript进行此操作?我必须完成所有步骤,包括设置apikey,查询和跳过验证。还安全吗?因为PHP是服务器端和JS客户端。
谢谢!
$url = 'https://opendata.company.fi/reservation/search';
$apiKey='xxxxxyxyxyxyxyxy:'; // required ':' after the api-key
$query= "{
\"startDate\":\"2014-11-22T09:00\",
\"endDate\":\"2014-11-25T15:00\",
\"room\":[\"X101\"]
}";
$session = curl_init($url); // set up session
curl_setopt($session, CURLOPT_USERPWD, $apiKey); // authentication
curl_setopt($session, CURLOPT_POSTFIELDS, $query); // add query entries
curl_setopt($session, CURLOPT_SSL_VERIFYPEER, false); // skips verification if certificates cause problems
curl_setopt($session, CURLOPT_RETURNTRANSFER, true); // returns data as string
$response = curl_exec($session); // execute and get response
curl_close($session); //close session
最佳答案
我建议使用jQuery's ajax()
方法。
但是,如果您使用AJAX直接调用API,则会遇到两个问题:1)大多数浏览器的Same Origin Policy不能将ajax用于跨域请求,以及2)您的API密钥将暴露给客户端。
您可以让当前的php脚本为您返回JSON,然后使用AJAX来查询它,而不是使用API。本质上,您将包装外部API。这似乎是最好的解决方案。
关于javascript - 如何使用Javascript以与PHP相同的方式获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28221107/