当前位置: 首页 > 知识库问答 >
问题:

XMLHttpRequest无法加载文件:[重复]

凌和颂
2023-03-14

我有问题从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无法加载文件:///d:/install/xampp/htdocs/allinone/proxy.php?url=https://na.api.pvp.n…pectatorgameinfo/NA1/26667724?api_key=xxx。只支持以下协议方案的交叉源请求:http、data、chrome、chrome-extension、https、Chrome-Extension-Resource.send@jQuery-1.11.3.js:9664jQuery.extend.ajax@jQuery-1.11.3.js:9215jQuery.(anonymous函数)@jQuery-1.11.3.js:9361jQuery.extend.getJSON@jQuery-1.11.3.js:9344RenderInfo@Render.js:89onClick@index.html:15Render.js:85错误

共有3个答案

魏勇军
2023-03-14

您的标题行是

header("Content-Type: text/javascript; charset=utf-8")

我的标题行是

header("Content-Type: text/javascript; charset=utf-8");
花飞扬
2023-03-14

替换

header("Content-Type: text/javascript; charset=utf-8")

header("Content-Type: text/javascript; charset=utf-8");
//....................................................^You miss this ';'
曾永新
2023-03-14

看起来错误在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请求数据时,就不需要这个规则了

EDIT2 porblem直接点击加载html文件,因此它给出了交叉原点策略的错误。通过xamp中的文件地址修复

 类似资料:
  • 我得到以下错误: 我知道这个问题以前已经回答过了,但我仍然没有找到解决问题的方法。我试着在chrome上运行<code>。exe--允许从命令提示符下的文件访问文件,并将文件移动到本地文件系统,但我仍然收到相同的错误。 我感谢任何建议!

  • 问题内容: 我正在尝试从“远程”网站获取一些json数据。我在99000端口上运行Web服务,然后在99001端口上启动网站(http:// localhost:99001 / index.html)。 我收到以下消息: 即使以HTML文件启动网页,我也会得到以下信息: Web服务返回数据。我尝试捕获这样的数据项: 我正在尝试获得以下结构: 您知道我为什么会收到此错误吗? 问题答案: 您无法执行X

  • 问题内容: 我是Angular SPA的新手,这是我第一次通过Googling获取代码并尝试运行。但是我在控制台中遇到一些错误。我不知道为什么,找到了以下控制台错误列表: XMLHttpRequest无法加载文件:/// C:/Users/hp/Downloads/single-page-app-angularjs- master/home.html。跨源请求仅支持以下协议方案:http,数据,c

  • 我正试图使用pandas library的read\u json()和python的内置json库从python中的此链接加载数据集,该数据集存储在我的计算机中(与我的笔记本相同的文件夹)。以下是我的代码: 另一个是: 在第一种情况下,我得到以下错误: 在第二种情况下,我得到: 我正在Ubuntu 18.04中使用jupyter笔记本

  • 由于某种原因,我无法将FXML文件中定义的节点加载到实例变量中。我制作了这两个测试文件: 和都被打印为而它们本应被注入FXML文件中定义的节点,有人知道这里出了什么问题吗?当我在Scene Builder中编辑FXML文件时,controller类和字段都被找到并识别,所以应该不会有任何问题。

  • 问题内容: 我最近决定从Apache2切换到Nginx。我在CentOS服务器上安装了Nginx并设置了基本配置。当我尝试在浏览器(FF / Chrome)中加载网站时,我注意到未加载CSS文件。我检查了错误控制台,并看到以下消息: 我检查了Nginx的配置,一切似乎都很好: 在/etc/nginx/mime.types中正确设置了css文件的mime类型。 一切似乎都配置正确,但是我的css文件