编辑2
我仍然需要帮助,因为错误仍然没有得到解决。下面,我添加了指向.ajaxError()抛出的屏幕截图的链接:
http://i.imgur.com/RkcgNtG.jpg
另一个想法是服务器设置。suphp或mpm_itk模块是否有可能是导致此错误的原因?
编辑
我已经弄明白了。我的Ajax- Call应该从输入和文本区域更新一些数据。我进行了更多测试,发现403仅在我的文本区域的值或输入的值具有多个空格的情况下才会出现。因此“ that-is- a-test”和“ thatisatest”可以正常工作,但“即是文字”,则返回403。
我还想补充一点,Ajax-Call是用get方法完成的。
原版的
我在CakePHP项目上工作时遇到问题。首先,我必须说我是CakePHP的新手,并且我从事的项目最初不是我开发的。
我已经在本地主机(带有xampp的Windows 8)上设置了这个项目,并且一切正常。
在下一步中,我编辑了Bootstrap配置文件,更正了数据库信息,并将所有文件上传到我的服务器。
现在,除了jQuery AjaxCalls之外,其他所有内容仍然有效。跟踪此错误的根源,我发现服务器返回了403状态代码。
现在,我搜索了可能的原因。我发现的第一个方面是将安全级别从高设置为中。但是由于我的2.x项目不再具有此设置,因此我需要另一个解决方案。
下一步是检查服务器设置。但是我的本地版本和发生错误的服务器的phpinfo似乎几乎相同。服务器上的PHP版本5.3和FastCGi的使用是不同的。但是由于cakePHP不需要超过5.2,这可能不是原因。
所以现在我不知道要搜索什么。我认为它必须是一种设置,因为它在我的本地主机上运行良好,在另一台服务器上运行良好,但在新服务器上运行失败。有什么我可以检查的想法吗?由于我不是服务器技术专家,因此,如果您回答的尽可能详细,那将是很好的。
谢谢和问候
我现在已经更改了如下的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();
现在一切似乎都正常。但是我仍然不明白为什么。谁能解释我做错了什么?