それはここに私の最初のポスト/スレッドだ、私は率直に言って、私はそれを必要としませんでしたが、この1つはちょうど私を得たいくつかの時間の原因のためのフォーラムで活躍していませんでした。 私は私の知識のすべてを試しました - そして私はすべてを意味します、私は狂信的な試行錯誤者です。jQuery、Ajax、WP、投稿4000B長いテキスト:404が見つかりませんでした(2000B = OK)?
状況: jQueryは、主に$( 'textarea')からサーバー上のphpファイルに収集されたAjaxを介していくつかのデータを投稿します。 データが> Xバイトの場合、Ajaxエラーハンドラの404 Not Foundと404 Htmlページが表示されます。 それ以外の場合は、すべてがスムーズに実行され、結果が得られます。
計算を行う前にWordpressのwp-blog-header.phpを読み込むPHPファイルに投稿するように指定する必要があります。コードはWPpluginの一部であることが意図されています。
- 私は、システムの一部としてファイルを見つけられなかったためにWPがヘッダを変更していると考えて、ヘッダ( "HTTP/1.1 200 OK")を返そうとしましたが、遠くにはない。
- ajax呼び出しでContent-Lengthを設定しようとしました。
- は、私は私のプラグインのフォルダに、Ajaxの呼び出しを処理し、そして私自身の.PHPファイルを持つのWPタイプとの間で切り替えます。
- 私のajaxファイルの先頭に、wp-load.php、wp-config.php、およびwp-blog-header.phpを交互に呼び出しました。何も解決しませんでした(ローカルで問題は解決しましたが、リモートでは解決しません)。 。 .phpファイルに送信されるコンテンツをトリミングするだけです。 2000-2500B ok、3000 + B私に404が見つかりません。
これは何だろうか? post_data_sizeはサーバー上で8Mです。 これは私がいくつかのケースで見たようにSSLに関連している可能性がありますか?これはサーバー側ですか?
P.S.、助けてください私のJavascriptを:
var data1 = {
action: 'get-tables',
html: $('#content').val(),
nonce: kwd_settings.nonce
};
$.ajax({
url: kwd_settings.ajax_url,
type: 'POST',
data: data1,
scriptCharset: 'utf-8',
timeout: 10000, /*10 seconds*/
beforeSend: function(xhr) {
xhr.setRequestHeader("Content-length", $('#content').val().length+500);
showProgress(true);
},
error: function (request, ajaxOptions, thrownError) {
alert(request.statusText);
alert(request.responseText);
showProgress(false);
},
success: function(response) {
var r= response;
showResponse(r);
}
});
4000B以上のテキストエリアを持つ通常のHTMLフォームを正常に投稿できますか? –
ちょうど試しました、いいえ、404エラーを出します。これは面白いです。 urlは正しいkwd-ajax.phpになりますが、404エラーページが表示されます。結局のところ、それは結局、ajaxのことではなく、Postのことだと思います。テキストを短いものに置き換えても、大丈夫です。 – Catalin
Ok:ちょうど28.000文字の長いテキストを投稿しましたが、エラーなしで戻ってきました。私は私のalgoがメモリ豚か何かだと思う、私は多くのメモリ構造を割り当てるhtmlToolsクラスを使用する。 PHP DOM解析関数に移動する必要があります。 – Catalin