jQuery ajax呼び出しでコントローラのアクションが正しく解決されるようにするには、どのURL構文を使用する必要がありますか? Visual Studioでサイトを運営しながら、例えば、にHomeController上のメソッド1を起動するには、次の構文は動作します:別のjavascriptファイルからASP.NET MVCコントローラアクションを呼び出す
$.ajax({
type: 'GET',
url: "Home/Method1?lparam1=" + 1+ "¶m2=" + 2, // my problem
dataType: 'json',
cache: false,
success: function(){ alert("success");}
});
しかし、私はIIS上でサイトを展開するとき、私はアクションが解決できないコントローラ私に言っHTTP 404を得ます。
TIA。
。私が要求しているurlを見るとlocalhost/home/method1ですが、IISではlocalhost/mysiteに展開していますので、urlはlocalhost/mysite/home/method1にする必要があります。 propiteプロパティのmysite /に仮想パスを設定すると、VS URLはIISと同じになりますが、元の問題は修正されません。私はちょうど埋め込みスクリプトを終了し、それを1日と呼びます。 –
グローバルファイルのように見えますが、私は外部ファイルにスクリプトを保存したいのです。 –
私は、あなたのロジックをすべてJavaScriptの「クラス」にラップし、ページ内でインスタンス化するときにコントローラのURLをオプションとして渡すことで、このアプローチを改善できると思います。 –