0

我的 jQuery $.post 调用在我的环境中工作正常。但在生产中,$.posts 神秘地变成了 GET,返回 404。

开发人员调用:$.post('/Home/Destaques')(调用正常)

生产调用: $.post('/Home/Destaques') 产生 GET /Home/Destaques/ 404(未找到)

响应标头之间存在差异,即:

开发:服务器:Microsoft-IIS/7.0 X-AspNet-Version:4.0.30319 X-AspNetMvc-Version:2.0

生产:服务器:Microsoft-IIS/6.0 X-AspNet-Version:2.0.50727(无 AspNetMvc 标头)

为什么 POST 会变成 GET?

4

1 回答 1

1

@Url.Action在指定位置时使用。Url.Action这是发生问题的最好例子,也是在 MVC 中引入的主要原因。

编辑-

伙计 看看会发生什么,我们将 Url.Action 或 Url.Content 用于相同目的,因为它的部署方式可能不在根目录本身。

类比可以映射到-当您在到达目的地的方式之间迷路时,您问某人到目的地的路,他回答{Right-Right-left-Right},您就在那里。但是,如果您不在同一点上并遵循这种方式,这可能行不通。

所以对于服务器来说也是一样的。当它在子站点上时,由于深度级别不同,它无法找到出路,并且当您更改它时它开始工作。所以,AFAIK就是这种情况。

阅读 Url.Action 文档。给出一个例子:Scott Guthrie 的(MVC GURU)博客

于 2012-07-16T14:26:15.033 回答