Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax在ASP MVC3站点上返回404错误_Ajax_Asp.net Mvc 3_Jquery_Iis - Fatal编程技术网

Ajax在ASP MVC3站点上返回404错误

Ajax在ASP MVC3站点上返回404错误,ajax,asp.net-mvc-3,jquery,iis,Ajax,Asp.net Mvc 3,Jquery,Iis,当我在本地机器上运行程序时,这段Ajax代码工作得非常好。然而,一旦我们把它放到开发服务器上,就会出现404错误。该站点是一个与SQL数据库通信的ASP MVC3站点,站点的其余部分在这方面没有问题。我是Ajax的新手,所以我不太确定该去哪里找。这可能也是IIS的问题吗 Ajax代码 var request = $.ajax({ type: 'POST', url: '/BatchPrograms/PopDetails', data: {

当我在本地机器上运行程序时,这段Ajax代码工作得非常好。然而,一旦我们把它放到开发服务器上,就会出现404错误。该站点是一个与SQL数据库通信的ASP MVC3站点,站点的其余部分在这方面没有问题。我是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
尝试将url修改为

url: '@Url.Action("PopDetails", "BatchPrograms")'
尝试将url修改为

url: '@Url.Action("PopDetails", "BatchPrograms")'
尝试使用Url.Action帮助器从应用程序中定义的表Routes获取路由

 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.");
        }
    });
尝试使用Url.Action帮助器从应用程序中定义的表Routes获取路由

 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.");
        }
    });

如果您只是在浏览器中输入URL,页面是否加载?请注意,如果此操作标记为HTTP POST only属性,则浏览器中的404操作将失败,因为GET没有到该操作的路由。如果您只是在浏览器中输入URL,页面是否加载?请注意,如果此操作标记为HTTP POST only属性,然后它会在浏览器中使用404失败,因为GET没有路由到它。我没有接受这个答案的唯一原因是jQuery对话框由于某种原因无法工作,我在帖子中对此进行了注释。现在我必须使用alert。在这种情况下,是您的组件:我没有接受这个答案的唯一原因是jQuery对话框不工作,原因是我在我的帖子中注释掉了它。现在我必须使用警报。好吧,在这种情况下是你的组件:你是我的英雄。这也修复了我遇到的问题,如果我进行搜索,然后进行另一个操作,然后尝试另一个搜索,我会得到一个404NotFound错误。把我的网址改成这个,效果很好。你是我的英雄。这也修复了我遇到的问题,如果我进行搜索,然后进行另一个操作,然后尝试另一个搜索,我会得到一个404NotFound错误。把我的网址改成这个,效果很好。