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

How to get fetch data the same way as PHP with Javascript

本文关键字:PHP 方式 数据 获取 Javascript      更新时间:2023-09-26

嗨,我有这个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的ajax()方法。

但是,如果使用 AJAX 直接调用 API,则会遇到两个问题:1) 根据大多数浏览器的同源策略,ajax 不能用于跨域请求,以及 2) 您的 API 密钥将暴露给客户端。

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