Ajaxを介してckeditorのコンテンツをphpに投稿しています。しかし、私のdbテーブルに投稿された資料の4〜5文を取得しています。 ajaxポストのサイズに制限はありますか?大きなテキストコンテンツをajax経由で投稿する方法はありますか?
私のjsはそのように見えます
function postViaAjax(autosaveMode) {
var name = $("#name").val();
var title = $("#title").val();
var menu = $("#menu").val();
var parentcheck = $(".parentcheck:checked").val();
var id = $("#id").val();
if (parentcheck == 0) {
var parent = parentcheck;
} else {
var parent = $("#parent").val();
}
var content = CKEDITOR.instances['content'].getData();
var dataString = 'name=' + name + '&title=' + title + '&menu=' + menu + '&parentcheck=' + parentcheck + '&id=' + id + '&parent=' + parent + '&content=' + content;
$.ajax({
type: "POST",
url: "processor/dbadd.php",
data: dataString,
dataType: "json",
success: function (result, status, xResponse) {
var message = result.msg;
var err = result.err;
var now = new Date();
if (message != null) {
if (autosaveMode) {
$('#submit_btn').attr({
'value': 'Yadda saxlanıldı ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds()
});
} else {
$.notifyBar({
cls: "success",
html: message + ' ' + now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds()
});
}
}
if (err != null) {
$.notifyBar({
cls: "error",
html: err
});
}
}
});
};
HTTP仕様では、投稿に特定のサイズ制限を課していません。それらは通常、フォーム送信の処理に使用されるWebサーバーまたはプログラミング技術のいずれかによって制限されます。
どのようなサーバーを使用していますか?
HTTPのPOSTにはサイズ制限はありません。
多分あなたはあなたのコンテンツ変数に&を持っています。その後、その後はすべて取り除かれます。
それ以外に、データベースのデータ列にはどのタイプを使用しますか?たぶん、varchar(1000)のようなものですか?次に、それより大きいものも取り除かれます。
サーバーエンドで実際に受信するものを確認して、コードまたはデータベースに問題があるかどうかを確認します。
理論的には、AJAX=リクエストの制限は他のすべてのリクエストで同じであるため、Webサーバー/アプリの設定によって異なります。参照してください send()データの最大長) on XMLHttpRequest Post