如何以与使用Javascript的PHP相同的方式获取数据
How to get fetch data the same way as PHP with Javascript
嗨,我有这个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。这似乎是最好的解决方案。
相关文章:
- PHP和JS中表单验证的最佳方式
- 在Javascript中以与在PHP中相同的方式存储时间
- 如何使用Angularjs以PHP方式提交表单
- PHP是否以与JavaScript相同的方式解释代码
- 在php生成的页面上获取勾选复选框列表的动态方式
- 将JSON从PHP控制器传递到AngularJS控制器的最佳方式
- 如何以与使用Javascript的PHP相同的方式获取数据
- 如何使用 PHP 以外的其他方式解析 RSS 提要
- 提交多个输入字段 jQuery/PHP 的最佳方式
- 使用 PHP 和 Javascript 从 MySQL 加载数据的最佳方式
- 如何[专业/正确的方式]将PHP代码插入JavaScript和/或HTML
- 创建用户可以在带有 php 或 JavaScript 的模板中使用的“变量”的最佳方式
- 将javascript类作为json/替代方式传递给php
- 使用PHP,CSS,JavaScript或任何可能的方式模糊不同帐户级别的图像
- 语言PHP数组 - 传递给Javascript的优雅方式
- 如何让 Javascript 和 PHP 以相同的方式对 JSON 响应进行排序
- PHP/AAJAX多用户应用程序-数据正在以某种方式丢失
- 我的查询获胜'因为一个剧本,它不能工作(它以错误的方式工作)!?但为什么呢?SESSIONS和PHP
- 加载子页面的最佳方式?PHP或JS
- 使用PHP显示HTML内容的最佳方式是什么