Я сделал API с php, проблема в том, что когда я пытался использовать fetch
для получения данных, он не работает OPTIONS http://my-app.000webhostapp.com/newapi/ net::ERR_EMPTY_RESPONSE
Дело в том, что когда я пытаюсь сделать запрос с почтальоном, все работает нормально любой чаевые?
Пример кода из возврата:
public function throwError($code, $message) {
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Allow-Headers: Content-Type, Authorization, Access-Control-Allow-Headers, X-Requested-With");
header("content-type: application/json; Charset='UTF-8'");
header("cache-control: no-cache;");
$errorMsg = json_encode(['error' => ['status'=>$code, 'message'=>$message]]);
echo $errorMsg;
exit();
}
и я даже получаю net::ERR_SPDY_PROTOCOL_ERROR
, если я пытаюсь вызвать API-интерфейс, https
пример вызова с использованием fetch:
fetch("http://my-app.000webhostapp.com/newapi/", {
method: "post",
headers: {
"Content-Type": "application/json",
Accept: "application/json"
},
body: JSON.stringify({
name: "getAllSeriesByType",
param: {
type: serieType
}
})
})
.then(response => {
if (response.ok) {
return response.json();
} else {
throw new Error("Something went wrong");
}
})
.then(responseData => {
if (responseData.response.status === 200) {
this.setState({
series: responseData.response.result,
loading: false
});
}
})
.catch(error => {
this.setState({
series: "There was an internal error retry later."
});
console.error(error);
});