如何使用Javascript以与PHP相同的方式获取数据

如何使用Javascript以与PHP相同的方式获取数据,javascript,php,Javascript,Php,嗨,我有一段php代码,它从服务器以JSON字符串的形式获取数据。所以我的问题是,如何使用Javascript实现这一点?我必须完成所有步骤,包括设置apikey、查询和跳过验证。安全吗?因为PHP是服务器端,JS是客户端 谢谢大家! $url = 'https://opendata.company.fi/reservation/search'; $apiKey='xxxxxyxyxyxyxyxy:'; // required ':' after the api-key

嗨,我有一段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
我建议使用这个方法

但是,如果使用AJAX直接调用API,您将遇到两个问题:1)AJAX不能用于大多数浏览器的跨域请求,2)API密钥将向客户端公开


您可以让当前的php脚本为您返回JSON,并使用AJAX来查询它,而不是API。实际上,您将包装外部API。这似乎是最好的解决方案。

是否可以使用ajax?如果在客户端使用它,每个人都可以看到API密钥,每个人都可以(ab)使用它。如果您正在编写一个服务器端脚本,例如用于node.js,那么它将与PHP一样安全。