javascript - XMLHttpRequest 无法加载文件 :

标签 javascript php jquery

<分区>

我在使用所有其他链接从 api 接收数据时遇到问题它没问题但是那个太难了..所以这是代码

$.ajax({
url: 'proxy.php?url=https://na.api.pvp.net/observer-mode/rest/consumer/getSpectatorGameInfo/NA1/26667724?api_key=xxxx',
dataType:"json",
success: function() {
alert("Success");
},
error: function() {
console.log("Error")
}
});

这是我正在使用的 php 代码。

    <?php
header("Content-Type: text/javascript; charset=utf-8");
if (!isset($_GET['url'])) {
   die(); 
}
$url = urldecode($_GET['url']);
$url = 'https://' . str_replace('https://', '', $url); 
echo file_get_contents($url);
?>

在控制台上显示日志--->XMLHttpRequest cannot load file:///D:/Install/xampp/htdocs/allInOne/proxy.php?url= https://na.api.pvp.n …pectatorGameInfo/NA1/26667724?api_key=xxx。跨源请求仅支持协议(protocol)方案:http、data、chrome、chrome-extension、https、chrome-extension-resource.send@jquery-1.11.3.js:9664jQuery.extend.ajax@jquery-1.11.3。 js:9215jQuery.(匿名函数)@jquery-1.11.3.js:9361jQuery.extend.getJSON@jquery-1.11.3.js:9344renderInfo@render.js:89onclick@index.html:15 render.js:85 错误

最佳答案

看起来错误在 proxy.php 文件中,它不能使用 file_get_contents,因为 url 返回 404。

和 php 响应

<br />
<b>Warning</b>:  file_get_contents(https://euw.api.pvp.net/observer-mode/rest/consumer/getSpectatorGameInfo/EUW1/19496550?api_key=xxxx): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
 in <b>C:\xampp\htdocs\test\proxy.php</b> on line <b>8</b><br />

当 javascript 尝试读取响应时失败。

也许这个网址是错误的? https://euw.api.pvp.net/observer-mode/rest/consumer/getSpectatorGameInfo/EUW1/19496550?api_keyxxx 编辑

删除

headers:{"Access-Control-Allow-Origin:": "*",
        'Access-Control-Allow-Headers':"X-Requested-With",},
crossDomain: true,

和改变

dataType:"jsonp",

dataType:"json",

跨域请求仅在 javascript 中需要,当您使用 Php 从 url 请求数据时不需要此规则

编辑2 问题是直接点击加载 html 文件,从而导致跨源策略出错。 通过地址 xamp 中的文件修复

关于javascript - XMLHttpRequest 无法加载文件 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34693349/

相关文章:

javascript - 使用 javascript/jQuery 搜索表格并在单击按钮时返回正确的表格行以及 'search' 栏的内容

php - 如何在 Nginx 的重写规则中包含所有的 php 文件?

php - 使用php将数组值设置为变量

php - Phalcon:css 仅在 indexAction 中工作

javascript - 提高绘图性能

javascript - 无法让 JavaScript 检查空对象

javascript - analytics.js 传递时间戳

javascript - oncheck 复选框显示主干中的数据

javascript - JQuery获取Select中动态生成的Option的值

jquery - $.when 对于单个 $.Deferred 有何作用?