Php Can';t在React中从我的API服务器获取数据
我尝试从我的服务器获取数据(文件夹中的文件列表)Php Can';t在React中从我的API服务器获取数据,php,reactjs,rest,api,Php,Reactjs,Rest,Api,我尝试从我的服务器获取数据(文件夹中的文件列表)https://www.my-site.com/api我得到了index.php文件,它是 <?php header("Access-Control-Allow-Origin: *"); header("Content-Type: application/json"); $dir = "./photos"; //path $list = array(); //main array if(is_di
https://www.my-site.com/api
我得到了index.php
文件,它是
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json");
$dir = "./photos"; //path
$list = array(); //main array
if(is_dir($dir)){
if($dh = opendir($dir)){
while(($file = readdir($dh)) != false){
if($file == "." or $file == ".."){
//...
} else {
$list3 = array(
'url' => $file);
array_push($list, $list3);
}
}
}
$return_array = array('photos'=> $list);
echo json_encode($return_array);
}
?>
但结果是CORS请求未成功
,并且CORS标头“访问控制允许源站”丢失
。当我使用Postman时,一切正常,我得到了json对象和我想要的数据。尝试添加:
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
到.htaccess
文件问题已解决
我尝试从
my site.com/api
获取数据,但我应该从my site.com/api/index.php
获取数据。尝试以下操作:我已将proxy
添加到package.json
中,但现在我得到了以下错误:错误语法错误:“json.parse:json数据第1行第1列的意外字符”
尝试记录纯文本响应我使用response.text()而不是.json(),我得到my-site.com/api HTML,它是404,但在my-site.com/api的浏览器中我得到json,您应该检查您的响应标题。例如,见。
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"