本机上可以,放服务器上后,用ajax模拟post请求报错 “405 Method not allowed”

卧槽这是我的昵称吗 2014-04-30 01:35:53
程序没问题,用ajax测试的时候,在本地可以,把url换成服务器的,就进不去了。

Status Code:405 Method Not Allowed

程序:

var json = ....... . //json格式的字符串
$.ajax({
url: "http://localhost:3770/XXXService.svc/InsertCCFB",
type: "POST",
contentType: "application/json",
data: '{ "ccfb":' + json + '}',
dataType: "json",
success: function (returnValue) {
alert(returnValue);
},
error: function () {
alert('没有进入');
}
});


        [WebInvoke(Method = "POST", UriTemplate = "/InsertCCFB", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
string InsertCCFB(CCFB ccfb);


网上查了很多资料,iis上面
1)加了MIME类型(扩展名 .json 类型text/json)
2)处理映射程序也添加了 执行路径 *.json , 谓词GET,POST
3)WebDAV的谓词限制也改成了全部为此

但还是405错误。。
...全文
55013 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
niuwa28 2018-06-06
  • 打赏
  • 举报
回复
引用 10 楼 u011710947 的回复:
[quote=引用 9 楼 qq_18755461 的回复:] 我也遇到了,能告诉下怎么解决的吗。我在发布的服务的的程序里面中的网页访问rest服务是没有问题的,但是其他的网页访问就有这个问题了,该怎么解决
是通过JavaScript的吗? 你可能需要用到CORS,参考这两篇文章: http://www.stevefenton.co.uk/Content/Blog/Date/201211/Blog/Using-CORS-With-ASP-NET-Web-API/ http://blogs.msdn.com/b/carlosfigueira/archive/2012/02/20/implementing-cors-support-in-asp-net-web-apis.aspx[/quote] 你倒是直接回答呀。
  • 打赏
  • 举报
回复
楼主,求解决
呐些過往 2015-11-03
  • 打赏
  • 举报
回复
你所说的js跨域问题,到底是指哪个,帮忙详细点讲讲
  • 打赏
  • 举报
回复
引用 9 楼 qq_18755461 的回复:
我也遇到了,能告诉下怎么解决的吗。我在发布的服务的的程序里面中的网页访问rest服务是没有问题的,但是其他的网页访问就有这个问题了,该怎么解决


是通过JavaScript的吗? 你可能需要用到CORS,参考这两篇文章:
http://www.stevefenton.co.uk/Content/Blog/Date/201211/Blog/Using-CORS-With-ASP-NET-Web-API/
http://blogs.msdn.com/b/carlosfigueira/archive/2012/02/20/implementing-cors-support-in-asp-net-web-apis.aspx
qq_18755461 2014-08-01
  • 打赏
  • 举报
回复
我也遇到了,能告诉下怎么解决的吗。我在发布的服务的的程序里面中的网页访问rest服务是没有问题的,但是其他的网页访问就有这个问题了,该怎么解决
  • 打赏
  • 举报
回复
解决了。 js跨域调用的问题
  • 打赏
  • 举报
回复
引用 6 楼 zhujiazhi 的回复:
<system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers> </system.webServer>
这个加过了 直接从405变成了500 我看网上 ,加这个的都是get和post可以,但put和delete却不行。 我只给了别人GET和POST两种方式传参,post本地测试可以,把程序放服务器上就传不过去了
zhujiazhi 2014-04-30
  • 打赏
  • 举报
回复
<system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers> </system.webServer>
zhujiazhi 2014-04-30
  • 打赏
  • 举报
回复
添加这个配置也不行的? <handlers> <remove name="WebDAV" /> <add name="WebDAV" path="*" verb="*" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> </handlers>
  • 打赏
  • 举报
回复
有人吗。。。。 网上找了各种办法改了还是不行啊。。。
  • 打赏
  • 举报
回复
引用 1 楼 feiyun0112 的回复:
服务器地址可以在ie中打开吗
如果是直接访问这个地址的话: 405 - 不允许用于访问此页的 HTTP 谓词。 您要查找的页面无法显示,因为尝试访问时使用了无效方法(HTTP 谓词)。
  • 打赏
  • 举报
回复
引用 1 楼 feiyun0112 的回复:
服务器地址可以在ie中打开吗
可以,服务器上还有其他查询接口,都可以用,就这个新加的通过post提交方式的接口不行
feiyun0112 2014-04-30
  • 打赏
  • 举报
回复
服务器地址可以在ie中打开吗

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧