@Miki8887
Front-end разработчик

Angular 5 HTTP POST не работает, что делать?

Здравствуйте!
Помогите, пожалуйста, разобраться с проблемой, целый день сижу, все варианты перепробовала-и так ничего не заработало.
Файл static.datasource.ts:
import { Injectable } from "@angular/core";
import { Emotion } from "./Emotion.model";
import {HttpClient, HttpParams,HttpHeaders} from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/from';

@Injectable()
export class StaticDataSource {

      constructor(private http: HttpClient){ }

    getEmotions(){
          return this.http.get('smiles.json')
    }
    updateEmotion(emotion: Emotion) {
          return this.http.post('http://localhost:8080/updateEmotion.php', emotion);
    }
}

Файл updateEmotion.php:
<?php
header('Access-Control-Allow-Origin: *');
    header("Access-Control-Allow-Credentials: true");
    header('Access-Control-Allow-Methods: *');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: *')

var_dump('debug');
if(isset(is_int($_GET['id'])))
{
    $emotion = json_decode(file_get_contents('smiles.json'), true);

    foreach ($emotion as $key => $entry) {
        if ($entry['id'] == $_GET['id']) {
            $emotion[$key]['category'] = $_GET['category'];
        }
    }
    $newJsonString = json_encode($emotion);
    file_put_contents('smiles.json', $newJsonString);
}
else
{
    echo "веденные данные некорректны";
}

?>

Ошибка следующая:
5b9bd6c31e260554526147.png
При этом this.http.get('localhost:8080/updateEmotion.php') работает, а все другие виды нет.
  • Вопрос задан
  • 464 просмотра
Решения вопроса 1
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
Может у вас сервер, под которым php крутится метод POST не принимает (ну или 404 отдаёт).
В общем, первое что проверить - это каким-нибудь конструктором запросов или еще одним php-скриптом сделать post запрос на икомый скрипт.
Если дело всё-таки в вебсервер, то попробуйте его под апачем запустить и проксировать к нему запросы с nodejs как описано вот в этом вопросе: Почему не устанавливаются куки при post запросе в Angular 5?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы