私は、Jqueryを介してAjaxも含むMVC4アプリケーションを開発してきました。そして、私は問題を抱えました。
たとえば、ボタンをクリックすると、onclickイベントがjavascriptメソッドを起動します。このメソッドは.jsファイルにあります。
そのjavascriptメソッドは、Ajaxを使用して、ActionResult
いくつかのパラメーター(string、int)を受け取るanを呼び出します。つまり、私のアクション結果が「Person
」Controller
にあり、その名前が「Add
」であるとしましょう。だから私は人を追加したいと思います。
ajax呼び出しのurlプロパティは次のように"/Person/Add"
なり、データは次のようになります。
var person = new Object();
person.name = "John";
person.id = 1;
data: person
これは、VisualStudioでアプリケーションを実行するときに問題なく機能します。しかし、IISに展開すると、404エラーが発生します。
私はこれを試しました。レイアウトにを追加し、<link>
<link id="PersonAddURL" href="Url.Content("~/Person/Add") />
使用する代わりにurl: "/Person/Add"
に変更しましたurl: $("#PersonAddURL").attr("href")
。
これはうまくいきます、今、私はそれを解決する良い方法だとは思いません。もう1つ良いはずです。それでも、なんとか解決できたとしても、その理由を誰かに説明してもらいたい。URLごとに1つのリンクタグを付けるというアイデアは好きではありません。
今後の回答ありがとうございます。