私はこれらの指示に非常によく似クラフトCMSサイト上のいくつかの簡単なAJAXのページ遷移、使用しています:https://designbycosmic.com/journal/craft-cms-ajax-page-transitions-with-history-pushstateはAJAXポストのURLを返す400(不正な要求)
私のコードの基本的な構造はこれです:
を$.ajax({
type: 'POST',
url: href,
data: {},
success: function(result){
// hide old content, load new content, fade in new content
},
error: function(){
console.log("ajax error");
}
});
「href」は、読み込む新しいページへのリンクです。
私はいつも400(Bad Request)エラーを受けています。
私はまったく同じホスティング環境で同じような方法でこれと全く同じ方法を使用しています。これはうまくいきます。なぜこれが違うのかについて私の頭を叩いています。
「データ」が正しくフォーマットされていない場合は他のすべての回答があるようですが、URLを読み込んでいて他のデータがない場合は問題がありません。
この場合、400エラーが発生する原因は何ですか?それでもhttp://mearch.nz/
非常に不完全で、開発中の:
UPDATE
OKはここに調査をさらに支援するために親切である人のためのライブサイトです。 [ホーム]、[プロジェクト]、[プロジェクト]インデックスからリンクされたプロジェクト詳細ページの間をナビゲートすることができます。ローディングインジケータがそこにくっついてしまい、AJAXが失敗して新しいページが到着しないことがわかります。
これらのページをリロードすると、正常に動作します。 URLに間違いはありません。何らかの理由でAJAX POSTの適切なデータとして受け入れられないだけです。
今すぐ比較のために、ここで同じWebホスト上の別のWebサイトが同じAJAX機能を使用して、だ、と同じCMS、それが正常に動作します:http://benek.nz/
あなたはPOSTリクエストをしてもデータを送信しないのですか?レスポンスに他の情報が含まれているかどうかを確認するためにChrome DevToolsをチェックしましたか? –
400レスポンスを返す理由は、**サーバ**はリクエストが悪い(だから悪いリクエスト) - クライアントサイドのコードは、サーバが応答している理由を伝えることはめったにありません。サーバを修正する必要があります。あるいは、サーバを制御しない場合は、サーバが期待していることを理解する必要があります。 、あなたのリクエストをサーバrequiに合わせるRements –
@JaromandaXこれは私にとってとてもイライラしている理由です。同じサーバー環境にあり、ほとんど同じコードで動作する別のサイトと同じです。だから私が知る限り、これはサーバーが期待するものでなければなりません。 –