0

私の環境では、私の jQuery $.post 呼び出しは問題なく動作します。しかし、本番環境では、$.posts が不思議なことに GET に変換され、404 が返されます。

開発呼び出し: $.post('/Home/Destaques') (呼び出しは正常に機能します)

本番呼び出し: $.post('/Home/Destaques') は GET /Home/Destaques/ 404 (見つかりません) を生成します

応答ヘッダーには次のような違いがあります。

開発者: サーバー:Microsoft-IIS/7.0 X-AspNet-バージョン:4.0.30319 X-AspNetMvc-バージョン:2.0

製品: サーバー:Microsoft-IIS/6.0 X-AspNet-Version:2.0.50727 (AspNetMvc ヘッダーなし)

POST が GET になるのはなぜですか?

4

1 に答える 1

1

@Url.Action場所を指定するときに使用します。そして、これは発生する問題の最良の例であり、その主な理由Url.ActionはMVCで紹介されました。

編集-

おい、何が起こるか見てみましょう。同じ目的でUrl.ActionまたはUrl.Contentを使用しているので、展開方法がルート自体に含まれていない可能性があります。

アナロジーは次のようにマッピングできます-目的地に到達する方法の間のどこかで道に迷い、誰かに目的地への道を尋ねると、彼は{右-右-左-右}と答え、あなたはそこにいます。しかし、あなたが同じ点にいて、そのように従わない場合、これはうまくいかないかもしれません。

したがって、サーバーの場合も同じように発生します。それがサブサイトにあったとき、深さのレベルが異なっていたので、それは抜け道を見つけることができませんでした、そしてあなたがそれを変えるとそれは働き始めました。ですから、これが事実です。

Url.Actionのドキュメントをお読みください。例を示します:Scott Guthrie(MVC GURU)のブログ

于 2012-07-16T14:26:15.033 に答える