我今天早上一直在想办法弄清楚。
我对控制器上的jsonresult操作有一个简单的jquery json请求。当我在本地机器(iis7)上运行这个程序时,它工作正常。当我部署到运行iis6的dev机器时,会得到一个404错误。
脚本:

$(function() {
            $('#search').click(function() {
                var zip = $('#zip').val();
                $.ajax({
                    type: "GET",
                    url: "/Customer/GetCityStateFromZip",
                    data: { zipcode: zip },
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {
                        $("#stateList").setCityState(msg);
                    }
                });
            });
        });

控制器:
public JsonResult GetCityStateFromZip(String zipcode)
        {
            List<CityState> list = new List<CityState>();
            foreach (var item in dt)
            {
                list.Add(new CityState(){City = item.City, StateCode = item.StateCode, StateName = item.StateName});
            }
             return this.Json(list);
        }

请求数据:
GET /Customer/GetCityStateFromZip?zipcode=85215 HTTP/1.1
Host: mydevserver
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6
Accept: application/json, text/javascript, */*
Accept-Language: en-us,es-mx;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
X-Requested-With: XMLHttpRequest
Referer: http://mydevserver/Customer/Entry

响应数据:
HTTP/1.1 404 Not Found
Date: Wed, 30 Jun 2010 18:01:06 GMT
Content-Length: 1635
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET

在运行iIS6的我的DEV服务器上,我设置了一个通配符映射(C:\Windows \微软.NET\Frase\V2.0.50727 \ ASPNETHISAPI .DLL),并没有检查“文件是否存在”。
我的mvc站点的所有其他方面都工作得很好。我到处都在使用jquery(验证、动画等),效果很好。我似乎无法超越这个ajax问题。
是否有其他设置或映射问题需要在iis6机器上解决?也许iis6不知道如何处理这个请求?

最佳答案

好吧,我在another SO post的帮助下解决了这个问题。
传递的url有问题。它显然不同于我的机器和我部署到的服务器。没想到这个我很尴尬。
我更改了$.ajax调用:

url: "/Customer/GetCityStateFromZip"

,它使用的是url。操作到正确的完整路径:
var url = '<%= Url.Action("GetCityStateFromZip","Customer") %>';
url: url

一切都很好。

10-07 23:08