【问题标题】:Angular 7 http post using php fails with 404使用 php 的 Angular 7 http post 失败并出现 404
【发布时间】:2019-11-13 19:49:33
【问题描述】:

对于我的网站(使用 Angular 7 编程),我构建了一个联系表单,用于将 JSON 对象发送到 PHP 文件。

Screenshot console error

MessageService 将绝对路径传递给 PHP 文件和 POST 中的消息对象。 POST 有效,但我得到了 404。

message.service.ts

export class MessageService {
  baseUrl = '<domain>/dev/src/app/entities/contact/message.php';

  constructor(private http: HttpClient) { }

  send(message: Message) {
    this.http.post(this.baseUrl, { data: message }).subscribe((data) => {
      console.log('Sent Data', data);
    }, (error) => {
      console.log('Something went wrong', error);
    });
  }
}

message.php

<?php
  header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
  header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
  header('Access-Control-Max-Age: 1000');
  header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');

  $post = file_get_contents('php://input');

  echo $postdata;
?>

MessageService 和 message.php 在同一个文件夹中。但是我不确定POST中的绝对路径是否正确。

Screenshot file tree

如果你能帮我解决我的问题,我会很高兴。

在此先感谢

萨沙

【问题讨论】:

    标签: angular forms typescript post http-post


    【解决方案1】:

    尝试使用 header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_REFERER']); 而不是 header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);

    部分浏览器未设置HTTP_ORIGIN,使用不安全

    【讨论】:

      猜你喜欢
      • 2014-07-21
      • 1970-01-01
      • 2014-01-30
      • 2017-12-19
      • 2017-05-16
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多