1

このAjaxコードは、ローカルマシンでプログラムを実行している場合に完全に機能します。ただし、これをDEVサーバーに配置すると、404エラーが発生します。このサイトはSQLデータベースと通信するASPMVC3サイトであり、サイトの他の部分は問題なく通信できます。私はAjaxを初めて使用するので、どこを見ればよいのかよくわかりません。これはIISでも問題になる可能性がありますか?

Ajaxコード

    var request = $.ajax({
        type: 'POST',
        url: '/BatchPrograms/PopDetails',
        data: { 'programName': pgmname },
        dataType: 'text',
        success: function (data) {
            console.log(data);
            alert(data);
            //$('#data').dialog('open');
        },
        error: function (data) {
            console.log(data)
            alert("Unable to process your resquest at this time.");
        }
    });

Chromeのコンソールエラーメッセージ:

POST http://insideapps.dev.symetra.com/BatchPrograms/PopDetails 404 (Not Found) 

send                                           jquery-1.8.3.js:8434
jQuery.extend.ajax                             jquery-1.8.3.js:7986
GetProgramDetails                              BatchDashboard:51
onclick                                        BatchDashboard:165

Chomeのネットワークエラーメッセージ

Name (Path)      Method  Status (Text)    Type         Initiator             Size  Time (Latency)
PopDetails       POST    404 Not Found    Text/Html    jquery-1.8.3.js:8434  1.8KB 21ms
/BatchPrograms                                         Script                1.6KB 17ms
4

2 に答える 2

4

URLをに変更してみてください

url: '@Url.Action("PopDetails", "BatchPrograms")'
于 2013-03-04T16:32:52.130 に答える
1

ヘルパーを使用してUrl.Action()、アプリケーションで定義されているテーブルルートからルートを取得してみてください。

 var request = $.ajax({
        type: 'POST',
        url: '@Url.Action("PopDetails", "BatchPrograms")',
        data: { 'programName': pgmname },
        dataType: 'text',
        success: function (data) {
          $('#data').dialog('open');
        },
        error: function (data) {
            alert("Unable to process your resquest at this time.");
        }
    });
于 2013-03-04T16:35:19.987 に答える