yii2.0 api 게시 오류에 대한 해결 방법: 1. "_csrf" 확인을 끕니다. 2. 양식에 숨겨진 필드를 추가합니다. 3. Ajax에 "_csrf" 데이터 필드를 추가합니다. 4. "post" 제출을 "get"으로 변경합니다. ".
Yii2.0에서 POST를 통해 데이터를 제출할 때 400 요청 오류가 발생했습니다.
1. 문제를 찾는 방법
Chrome 브라우저를 사용하여 오류를 확인하고, 네트워크로 이동하여 응답을 확인하세요.
Bad Request (#400): Unable to verify your date submission. (无法验证提交的数据)
권장: "yii Tutorial"
2. Solution
(1) _csrf 검증을 끄세요
public function init(){ $this->enableCsrfValidation = false; }
(2) 양식에 숨겨진 필드를 추가하세요
<input name="_csrf" type="hidden" id="_csrf" value="<?= Yii::$app->request->csrfToken ?>">
양식을 생성하는 Yii 프레임워크는 _csrf 필드와 함께 제공되므로 추가 숨겨진 필드를 추가할 필요가 없습니다.
(3) Ajax에 _csrf 데이터 필드 추가
$.ajax({ url: 'demo.php',//发送验证码的url type: 'post', data: { _csrf:"<?=Yii::$app->request->csrfToken?>", mobile:123 }, success: function(){ alert('发送成功'); }, error: function(){ alert('发送失败'); return false; } })
(4) 가장 쉬운 방법은 게시물 제출을 get
로 변경하는 것입니다. 참고: Yii 프레임워크에는 게시물에서 제출한 데이터가 프레임워크에 해당하는 _csrf와 동일한 검증 데이터 필드를 제출하면 제출된 데이터는 신뢰할 수 없는 필드로 간주되어 400 오류가 발생합니다.
위 내용은 yii2.0 api 게시 오류 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!