嗨,我有这个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/

10-11 23:24
查看更多