Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从js文件到yii2控制器函数的ajax请求_Php_Yii2 - Fatal编程技术网

Php 从js文件到yii2控制器函数的ajax请求

Php 从js文件到yii2控制器函数的ajax请求,php,yii2,Php,Yii2,这是一个简单的函数,我编写它只是为了调用控制器中的函数,GET类型可以很好地工作,但是POST不能。告诉我这个错误“错误请求(#400):无法验证您提交的数据。” 这与yii2中的CSRF验证有关,但我无法解决它 将这两行添加到代码中 function facebookAuth() { $.ajax({ url: 'index.php?r=account/fbauthorize', type: 'GET' }); } 这将是 contentTyp

这是一个简单的函数,我编写它只是为了调用控制器中的函数,GET类型可以很好地工作,但是POST不能。告诉我这个错误“错误请求(#400):无法验证您提交的数据。”


这与yii2中的CSRF验证有关,但我无法解决它

将这两行添加到代码中

function facebookAuth() {
    $.ajax({
        url: 'index.php?r=account/fbauthorize',
        type: 'GET'
    });
}
这将是

contentType: "application/json; charset=utf-8",
dataType: "json",


享受:)将这两行代码添加到您的代码中

function facebookAuth() {
    $.ajax({
        url: 'index.php?r=account/fbauthorize',
        type: 'GET'
    });
}
这将是

contentType: "application/json; charset=utf-8",
dataType: "json",


享受:)有两个重要步骤:

1)按如下方式注册js文件:

$.ajax({
    url: 'index.php?r=account/fbauthorize',
    type: 'GET',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
});
2)在ajax请求中,您需要发布以下值和数据:

$this->registerJsFile(Yii::$app->homeUrl . 'js/test.js', [JqueryAsset::className()]);

CSRF是一种安全功能,可以在控制器中禁用,但不推荐使用。

有两个重要步骤:

1)按如下方式注册js文件:

$.ajax({
    url: 'index.php?r=account/fbauthorize',
    type: 'GET',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
});
2)在ajax请求中,您需要发布以下值和数据:

$this->registerJsFile(Yii::$app->homeUrl . 'js/test.js', [JqueryAsset::className()]);

CSRF是一种安全功能,可以在控制器中禁用,但不推荐使用。

确保设置正确的访问方法

yii.getCsrfParam(): yii.getCsrfToken()

确保设置正确的访问方法

yii.getCsrfParam(): yii.getCsrfToken()

这不起作用。你能详细说明一下这是怎么回事吗?我还说GET类型工作得很好,这是我遇到麻烦的POST类型!读这篇文章,这是行不通的。你能详细说明一下这是怎么回事吗?我还说GET类型工作得很好,这是我遇到麻烦的POST类型!读了这个见见嗨,抱歉迟了答复,我不知道在哪里注册我的文件。你必须在你的视图文件中重新输入js,路径js/test.js的完整路径是webroot/yourproject/frontend/web/js/test.js。如果你不明白,请告诉我谢谢你,伙计,我昨天就开始工作了,你帮了大忙,谢谢。你如何在外部js文件中打印csrf?嗨,很抱歉回复太晚,我不知道在哪里注册我的文件。你必须在你的视图文件中重新输入js,路径js/test.js的完整路径是webroot/yourproject/frontend/web/js/test.js。如果你不明白,请告诉我谢谢你,我昨天就开始工作了,你帮了大忙,谢谢。你如何在外部js文件中打印csrf?