所以我正在开发一个用户可以撰写文章的网站。我遇到了一个问题。当用户编写短文时,它可以正常工作,但是当用户编写或编辑较长的文章时,它会在控制台中出现Ajax 500错误。我不确定问题是否正在发生,因为我正在使用CKEditor。无论如何,这是我用来发送Ajax文章的代码:
var name = $(".article_name").val().trim(),
image = $("#article_input").val(),
category_id = $(".txtArticleCategory").val().trim(),
short_body = $(".txtShortBodyArticle").val().trim(),
tags = $(".txtTagsArticle").val().trim(),
body = CKEDITOR.instances['txtArticleBody'].getData();
if(name !== "" && image !== "" && category_id > 0 && body !== "" && short_body !== "" && tags !== ""){
var formData = new FormData($('#insertArticleForm')[0]);
formData.append("body", body);
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
percentComplete = parseInt(percentComplete * 100);
//update progress bar width
$('.progress-bar-custom > span').css('width', percentComplete + "%");
}
}, false);
return xhr;
},
type: "POST",
url: '/actions/update_article.php',
data: formData,
processData: false,
contentType: false,
success: function (data) {
$('.progress-bar-custom').css('display', 'none');
$('.progress-bar-custom > span').css('width', '0%');
if(data == 'true'){
// Empty textboxes
$(".article_name, .txtArticleCategory").val("");
CKEDITOR.instances['txtArticleBody'].setData("");
alert('Article added.');
}else if (data == "size") {
alert('Image too big. Max size is 2mb');
}else if (data == "false") {
alert('Error, please try again.');
}
},
error: function(){
alert('Error, please try again.');
}
});
}else{
alert("Complete a text fields.");
}
});
这是我得到的错误:
jquery.min.js:4 POST http://sub.domain.net/actions/update_article.php 500 (Internal Server Error)
错误只发生在我尝试添加或编辑大型文章时,有人知道为什么会发生这种情况或我如何解决它?任何帮助表示赞赏。
答案 0 :(得分:0)
我联系了我的网络托管服务提供商,他们告诉我它最终成为了一个ModSec规则。如果您遇到类似问题,我建议您与他们联系。