我已经在yii2中创建了angular2应用程序和REST API。Yii2控制器为**“yii\rest\控制器”**Angularjs和Angular2两者都非常不同。
我不了解如何在angular2 post请求中使用CSRF标记。
Angular2和yii2没有任何连接。只有api在yii2中调用。
hrysbysz1#
在SiteController中添加此函数以显示csrf令牌
public function actionCsrf() { Yii::$app->response->format = Response::FORMAT_JSON; return [ '_csrf' => Yii::$app->request->csrfToken ]; }
和添加隐藏在表单中输入类型,就像在html上一样
<form> ... <input type="hidden" name="_csrf" id="_csrf" value="" /> ... </form>
在你的Angular ,它的版本在jquery上javascript
<script type="text/javascript"> $.ajax({ type : "GET", data : "", dataType: 'json', contentType: "application/json", url : "http://localhost/app/web/site/csrf", success : function(result){ var resultObj = result; document.getElementById("_csrf").value = resultObj._csrf; } }); </script>
1条答案
按热度按时间hrysbysz1#
在SiteController中添加此函数以显示csrf令牌
和添加隐藏在表单中输入类型,就像在html上一样
在你的Angular ,它的版本在jquery上javascript