将使用 $.ajax() 和 JSONP 的 API 调用替换为服务器到服务器的 API 调用
Replace an API call using $.ajax() and JSONP with a server-to-server API call
>我有一个调用ajax函数的javascript应用程序,看起来像这样
$.ajax({ url: apiURL, dataType: 'jsonp', success: function(data) {
if (data.ok) {
//do things
}}});
我试图访问的 Ajax URL 是通过 Etsyapi一切都很好,直到我尝试在 Chrome 中访问打开广告拦截的应用程序。它使 ajax 调用完全失败,返回错误,其中包含无法加载资源 - "实际URL"消息。
我不知道如何在javascript中解决这个问题,并被告知我需要做一个php调用才能让它工作。
不幸的是,我不知道关于php的第一件事,我甚至试图理解它的基本结构,而且我无法在javascript中找到任何解决方法,所以我认为它必须用php来完成。
有没有最简单的方法可以使用动态 url(从 javascript 传递到 php 页面)在 php 中调用 ajax 函数,并让它将数组传回 javascript 进行操作?
我用PHP走到了这一步-
<?php
$json = array();
????????????????????????
$jsonstring = json_encode($json);
echo $jsonstring;
?>
但不了解如何从 JavaScript 访问动态 URL。
如果它真的使用 jsonp,你不应该需要 php。将您的
$.ajax...
替换为:
var newScript = document.createElement('script');
newScript.src = apiURL;
document.head.appendChild(newScript);
忽略上述内容,我对jQuery已经过时了。即便如此,如果 API 端点真的使用 jsonp 响应,则不需要 php。 如果您收到错误,听起来网址是错误的/错误的。您是否尝试过通过将apiURL
放在浏览器的地址栏中来简单地打开它?
JSONP是跨域AJAX限制的解决方法,它将返回的数据包装在JavaScript函数调用中。这允许您将其加载到脚本标记中,并且在执行脚本时将数据作为参数运行该函数。
相关文章:
- 客户端服务器REST API captcha实现
- 使用node.js服务器中的evernote api获取note内容
- 更改REST API服务器的最佳实践
- 为自托管解析服务器使用节点解析API
- REST API 服务器是否应该使用 PUT 接收 JSON 数据或普通表单数据
- 让restify REST API服务器同时支持HTTPS和HTTP
- php cURL的替代品- OpenId和谷歌,Facebook api服务器端身份验证
- 主干restful API服务器返回
- Javascript:如何通过Firefox浏览器从API服务器下载zip
- 如何实现Play2 API服务器通过Ajax返回文件
- 调用谷歌可视化API服务器端
- 我可以在github页面上托管我的React/redux(客户端和api服务器)项目吗?
- 谷歌分析嵌入API服务器端授权定制图表
- 关于laravel 5.2 api服务器的Axios get请求错误问题
- 中继突变使用相对路径而不是API服务器
- 通过 xmlhttprequest 连接到 API 服务器时出现问题
- JS和不同端口的API服务器之间的交互
- 用于REST API服务器的Hapi.js文档生成器
- RequireJS模块从API服务器接收JSON,返回undefined
- API服务器在登录后给出401错误