1

jQuery ajax呼び出しでコントローラーアクションが適切に解決されるようにするには、どのURL構文を使用する必要がありますか?たとえば、HomeControllerでMethod1を呼び出すための次の構文は、VisualStudioでサイトを実行しているときに機能します。

 $.ajax({
             type: 'GET',
             url: "Home/Method1?lparam1=" + 1+ "&param2=" + 2,  // my problem
             dataType: 'json',
             cache: false,             
             success: function(){ alert("success");}
         });

しかし、IISにサイトを展開すると、コントローラーのアクションを解決できないというHTTP404が表示されます。

TIA。

4

2 に答える 2

1

私はMVCにあなたのためのリンクを生成させます:

url: '@Url.Action("Method1", "Home")?lparam1=' + encodeURIComponent(1) + ... 

JSが外部ファイルにある場合は、ページのURLを使用してグローバル変数を設定し、外部ファイルにそれを読み取らせることができます。また、VSとIISのURLが異なる場合は、プロジェクトのプロパティでサイトに仮想ディレクトリ名を付けて、IISディレクトリと一致させるか、プロジェクトでカッシーニの代わりにIISを使用するようにすることができます。 Webサーバーで)。

于 2012-05-13T22:59:55.130 に答える
0

URL行を次のように変更するだけです。

url: "/Home/Method1?lparam1=" + 1+ "&param2=" + 2,
于 2012-05-13T23:07:31.043 に答える