我在jquery中有一个 AJAX 函数调用cakephp4函数。这个函数不起作用,因为它给出了一个403禁止错误。这个错误是关于头的,但是我找不到我需要确切地修复这个错误。
这段代码运行后确实得到了var(alert验证了这一点)。
var freeassessmentid = "<?=$testid?>";
$.ajax({
url: "/freeassessments/freeasssesmenFinaltResult", //path is correct and it can be tested on its own
method: "POST",
dataType: "html",
data: { freeassessmentid:freeassessmentid },
success: function(response) {
//console.log(response);
$('#display-area').append(response); //no output
}
});
public function freeasssesmenFinaltResult($freeassessmentid=0)
{
//debug('test');
$html .= '<li class="listyle" style="height: auto;">hi<br/></li>';
$html .= '</ul>';
//no output
//https://stackoverflow.com/questions/36666256/jquery-ajax-call-results-in-error-status-403
2条答案
按热度按时间osh3o9ms1#
AJAX URL应为:
对url中的操作/方法使用kebab大小写,对控制器中的操作/方法使用camel大小写
yzuktlbb2#
AJAX 调用期间,必须在头中传递CSRF标记。
您可以通过多种方式获得CSRF令牌。
最简单的一个办法是:
您可以将bellow代码添加到父布局的head标签或任何模板文件中。
在 AJAX 的时候,你必须得到这个csrf标记,并将它传递给ajax头。
我希望它能有所帮助:)