首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FTP部署了微软MVC3网站。POST协议不起作用。GET协议工作正常

FTP部署了微软MVC3网站。POST协议不起作用。GET协议工作正常
EN

Stack Overflow用户
提问于 2012-03-15 23:30:50
回答 1查看 259关注 0票数 0

我正在开发一个网站使用微软MVC3,并已建立在默认的MVC3应用程序模板。它访问外部数据库并在本地主机上工作。

我已经使用ftp方法(storminternet还不支持web部署)通过发布工具将它部署到我从storminternet租用的共享服务器上,并且运行良好。它可以很好地访问数据库,get请求也能正常工作。

但是,通过POST协议提交的任何表单都会返回page not found错误404 (这是在我断言HttpPost的操作上)。

Storm internet向我保证,默认情况下POST和GET是允许的,而且由于帮助台不是开发人员,我不确定该向谁求助。我对web.config的理解不是很好,尽管我可以阅读和理解xml,并通过通读和谷歌搜索来了解正在发生的事情。我曾尝试将协议添加到根web.config中,但我认为我可能找错了地方。

有没有其他人有这个问题,或者有人知道如何帮助我?

为了重复我的错误,我的网站在这里...213.229.125.117/$sitepreview/ase-limited.com/Dev (对不起,它不是蓝色的。美元被解析为%某物)

到达POST请求的最快路径是单击左侧顶部的“Add Building”,然后单击对话框顶部的“Save”。

我们将非常感谢您的帮助。我已经被困在这个问题上好几天了,运气不好。

向尼克致以最好的问候

事实证明这是sitepreview的一个已知问题。切换到适当的域可以对所有内容进行排序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-15 23:40:44

我注意到在执行AJAX请求时有一些404个javascript错误。例如,您有一个请求:

代码语言:javascript
复制
http://213.229.125.117/$sitepreview/ase-limited.com/BuildingManager/Employees/2

而不是:

代码语言:javascript
复制
http://213.229.125.117/$sitepreview/ase-limited.com/Dev/BuildingManager/Employees/2

注意/Dev是如何丢失的。这是因为在javascripts中,您已经对url进行了硬编码,而不是使用url helper来生成它们。例如,你写了这样的代码:

代码语言:javascript
复制
$.ajax({
    url: '/BuildingManager/Employees/2',
    ....
});

它在localhost上运行良好,因为您没有虚拟目录名,但在服务器上部署时不起作用,因为现在正确的路径是:

代码语言:javascript
复制
$.ajax({
    url: '/Dev/BuildingManager/Employees/2',
    ....
});

出于这个原因,你绝对不应该像那样硬编码urls。

当我尝试发布表单时,尝试发布到http://213.229.125.117/Dev/BuildingManager/SaveBuilding,这似乎是一个非常奇怪的url,因为它缺少整个开头。再说一次:永远不要硬编码urls。始终使用url helper。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9722946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档