使用 JSONP 时的 CORB
CORB when using JSONP
我正在尝试 JSONP。我有一个 HTML 如下所示:
<html>
<head>
<title>JSONP</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<script src="js/main.js"></script>
<script src ="https://truthsearcher83.000webhostapp.com/players_json.php?callback=showPlayers"></script>
</body>
</html>
我的 main.js 文件是:
function showPlayers(data){
console.log(data);
}
我的 php 文件是:
<?php
$json_obj = '{
$json_obj = '{"sachin" :{"country":"India" ,"age":36 , "role":"bat"},'.
'"sourav" :{"country":"India" ,"age":37 , "role":"bat"},'.
'"pointing" :{"country":"Aus" ,"age":56 , "role":"bowl"},'.
'"gilchrist" :{"country":"Aus" ,"age":16 , "role":"wick"}}';
echo var_dump($json_obj);
echo 'showPlayers('.$json_obj.')';
?>
我在 https://truthsearcher83.000webhostapp.com/players_json.php
托管 php 文件
我的控制台出现此错误,我的 console.log 没有显示任何内容。
跨源读取阻止 (CORB) 阻止了跨源响应 https://truthsearcher83.000webhostapp.com/players_json.php?callback=showPlayers with MIME type text/html. See https://www.chromestatus.com/feature/5629709824032768 了解更多详细信息。
我刚开始学习 Ajax 和 JSONP,我知道 JSONP 会像这样处理跨源请求。那么为什么我会收到此错误?跟服务器有关系吗?
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/javascript');
参考此 post 尝试在服务器端设置正确的 MIME 类型。另外,尝试删除 PHP 中的 var_dump,这会复制脚本标记
中的对象
我正在尝试 JSONP。我有一个 HTML 如下所示:
<html>
<head>
<title>JSONP</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<script src="js/main.js"></script>
<script src ="https://truthsearcher83.000webhostapp.com/players_json.php?callback=showPlayers"></script>
</body>
</html>
我的 main.js 文件是:
function showPlayers(data){
console.log(data);
}
我的 php 文件是:
<?php
$json_obj = '{
$json_obj = '{"sachin" :{"country":"India" ,"age":36 , "role":"bat"},'.
'"sourav" :{"country":"India" ,"age":37 , "role":"bat"},'.
'"pointing" :{"country":"Aus" ,"age":56 , "role":"bowl"},'.
'"gilchrist" :{"country":"Aus" ,"age":16 , "role":"wick"}}';
echo var_dump($json_obj);
echo 'showPlayers('.$json_obj.')';
?>
我在 https://truthsearcher83.000webhostapp.com/players_json.php
托管 php 文件我的控制台出现此错误,我的 console.log 没有显示任何内容。
跨源读取阻止 (CORB) 阻止了跨源响应 https://truthsearcher83.000webhostapp.com/players_json.php?callback=showPlayers with MIME type text/html. See https://www.chromestatus.com/feature/5629709824032768 了解更多详细信息。
我刚开始学习 Ajax 和 JSONP,我知道 JSONP 会像这样处理跨源请求。那么为什么我会收到此错误?跟服务器有关系吗?
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/javascript');
参考此 post 尝试在服务器端设置正确的 MIME 类型。另外,尝试删除 PHP 中的 var_dump,这会复制脚本标记
中的对象