【问题标题】:Jquery Ajax Request return forbidden (403) in cakePHP projectcakePHP项目中的Jquery Ajax请求返回禁止(403)
【发布时间】:2014-12-01 10:55:54
【问题描述】:

编辑 2

我仍然需要帮助,因为错误仍未修复。 下面我添加了一个指向 .ajaxError() 抛出的屏幕截图的链接:

http://i.imgur.com/RkcgNtG.jpg

另一个想法是服务器设置。 suphp 或 mpm_itk 模块是否有可能导致此错误?

编辑

我发现了一些东西。我的 Ajax-Call 应该从输入和文本区域更新一些数据。我进行了更多测试,发现 403 仅在我的 textarea 的值或我的输入的值有多个空格时才会出现......所以'that-is-a-test'和'thatisatest'工作正常,但是'那是一个文本'返回一个 403。

我还想补充一点,Ajax-Call 是通过 get 方法完成的。

原创

我在处理我的 cakePHP 项目时遇到了问题。 首先,我必须说我是 cakePHP 新手,并且我从事的项目最初不是由我开发的。

我已经在我的本地主机上设置了这个项目(带有 xampp 的 Windows 8)并且一切正常。

在下一步中,我编辑了引导配置文件,更正了数据库信息并将所有文件上传到我的服务器。

除了 jQuery AjaxCalls 之外,现在一切正常。追根溯源,发现服务器返回了 403 状态码。

现在我搜索了可能的原因。我发现的第一个方面是将安全级别从高设置为中。但由于我的 2.x 项目不再有这个设置,我需要另一个解决方案。

下一步是检查服务器设置。但是我的本地版本和发生错误的服务器的 phpinfo 似乎几乎相同。 只是服务器上的 PHP 版本 5.3 和使用 FastCGi 不同。 但是因为 cakePHP 不需要超过 5.2 这不是原因。

所以现在我不知道要搜索什么。我认为它必须是一个设置,因为它在我的本地主机上运行良好,在另一台服务器上运行良好,但在新服务器上失败。 我可以检查任何想法吗?由于我不是服务器技术方面的专家,如果您回答得越详细越好。

感谢和问候

【问题讨论】:

  • 有时域会产生配置问题,所以我要求您先按照我的建议尝试。 step1 - www.example.com step2 - example.com 检查是否正常工作.....否则我将指导您
  • 带 www 和不带 www 的两个版本都不起作用。
  • 我添加了更多信息...也许这有助于确定问题...
  • 是的,请提供更多数据,例如图像等,以便我了解实际问题。
  • 哪些数据可以帮助您?如果您认为错误出在编码方面,我可以将部分代码发送给您...

标签: javascript php jquery ajax cakephp


【解决方案1】:

我现在更改了我的 jQuery Ajax-Call,如下所示

    $.ajax({
        url: '/metas/saveMetas',
        data: {
            "model": model,
            "f_key": f_key,
            "pagetitle": pagetitle,
            "keywords": keywords,
            "description": description,
            "niceurl": niceurl
        },
        dataType: 'json',
        complete: function(){
            return false;
        },
        success: function(result) {
            if(typeof result =='object') {
                $('#modal-spinner-seo-update').hide('slow');
                jQuery.each(result, function(field, message) {
                    $('#seo-'+field).next('div.error-message').html(message).fadeIn('fast');
                });
            } else {
                $('#modal-spinner-seo-update').hide('slow', function() {
                    $("#seo-widget-message-success").fadeIn('slow').delay(2000).fadeOut('slow');
                });
            }
            return false;
        }
    });

转换成一个简单的 JavaScript xmlHttpRequest 如下

    xhr = new XMLHttpRequest();
    xhr.onreadystatechange=function()
    {
        if (xhr.readyState==4 && xhr.status==200)
        {
            console.log(xhr.responseText);
            if(typeof xhr.responseText =='object') {
                $('#modal-spinner-seo-update').hide('slow');
                jQuery.each(result, function(field, message) {
                    $('#seo-'+field).next('div.error-message').html(message).fadeIn('fast');
                });
            } else {
                $('#modal-spinner-seo-update').hide('slow', function() {
                    $("#seo-widget-message-success").fadeIn('slow').delay(2000).fadeOut('slow');
                });
            }
            return false;
        }
    };
    xhr.open('GET','/metas/saveMetas?model='+model+'&f_key='+f_key+'&pagetitle='+pagetitle+'&keywords='+keywords+'&description='+description+'&niceurl='+niceurl, true );
    xhr.send();

现在一切似乎都正常了。但我还是不明白为什么。谁能解释我做错了什么?

【讨论】:

    猜你喜欢
    • 2021-07-12
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2018-08-12
    • 1970-01-01
    • 2015-02-25
    相关资源
    最近更新 更多