繁体   English   中英

Angular4 不工作向 yii2 应用程序发送 post 请求

[英]Angular4 not work send post request to yii2 application

我用这个代码

this.http.post('http://l.example/angular/create/', {name: 'test'}).subscribe(
      (response) => console.log(response),
      (error) => console.log(error)
    );

将发布请求发送到我的 Yii2 休息应用程序,但我在 chrome 控制台上收到此错误,但是当我使用 jquery $.post请求工作正常

错误列表

我的 Yii2 控制器代码

namespace app\controllers;

use yii\rest\ActiveController;

class AngularController extends ActiveController
{
    public $modelClass = 'app\models\Angular';

    public function beforeAction($action)
    {
        $this->enableCsrfValidation = false;


        return parent::beforeAction($action);
    }

    public function behaviors()
    {
        $behaviors = parent::behaviors();


        // add CORS filter
        $behaviors['corsFilter'] = [
            'class' => \yii\filters\Cors::className(),
            'cors' => [
                'Origin' => ['*'],
                'Access-Control-Request-Method' => ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],
                'Access-Control-Request-Headers' => ['*'],
            ],

        ];
        $behaviors['contentNegotiator'] = [
            'class' => \yii\filters\ContentNegotiator::className(),
            'formats' => [
                'application/json' => \yii\web\Response::FORMAT_JSON,
            ],
        ];
        return $behaviors;
    }
}

注意

  • Angular 4 http.get正常工作并列出所有记录
  • 我使用 Yii 2.0.14
  • 角 4.3.1

我的错误在哪里?

Yii 中预定义的 RESTful 端点没有前导斜线。

应该是:

'http://l.example/angular/create'

而不是

'http://l.example/angular/create/'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM