Ajax跨域请求WCF服务,只有IE成功,火狐和谷哥均失败

e哥 2012-09-29 11:10:13
Web.config文件如下,哪位大合侠能指点一下?

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="AjaxBehavior">
<enableWebScript/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="AjaxBinding" crossDomainScriptAccessEnabled="true"/>
</webHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceBehavior" name="WCF.Service">
<endpoint behaviorConfiguration="AjaxBehavior" binding="webHttpBinding" bindingConfiguration="AjaxBinding" contract="WCF.IService" />
</service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<directoryBrowse enabled="true"/>
</system.webServer>
</configuration>

...全文
460 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
garfieldzf 2013-04-24
  • 打赏
  • 举报
回复
引用 13 楼 QQ154485585 的回复:
用Jsonp解决问题
你用jsonp是在IE环境下解决的吗?
e哥 2012-12-27
  • 打赏
  • 举报
回复
用Jsonp解决问题
e哥 2012-10-03
  • 打赏
  • 举报
回复
是真的,我试过了
Go 旅城通票 2012-09-29
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

不过,还有一点不明白
用Jquery的$.getJson请求,又可以正确返回值
[/Quote]

不可能吧。。jq也是用XMLHttpRequest这种对象的,难道增加跨域判断自动转换为jsonp了?
e哥 2012-09-29
  • 打赏
  • 举报
回复
不过,还有一点不明白
用Jquery的$.getJson请求,又可以正确返回值
e哥 2012-09-29
  • 打赏
  • 举报
回复
那我还是Jsonp吧
Go 旅城通票 2012-09-29
  • 打赏
  • 举报
回复
你那个是允许服务器端跨域,和客户端跨域的概念不一样的。
e哥 2012-09-29
  • 打赏
  • 举报
回复
嗯,不同的套接字是算跨域
我主要不明白的地方是在Web.config文件中的crossDomainScriptAccessEnabled="true", 这已经是允许跨域了....
Go 旅城通票 2012-09-29
  • 打赏
  • 举报
回复
知道了,端口不一致导致的跨域。。

发送ajax的请求的端口号是60080,而ajax请求的页面的端口是60086,端口号不一致在firefox下也算跨域的,IE端口不一样不算跨域

你只能做代理了
e哥 2012-09-29
  • 打赏
  • 举报
回复
http协议,响应为空
Go 旅城通票 2012-09-29
  • 打赏
  • 举报
回复
ajax请求那个页面你是本地file浏览还是通过http协议访问的?

本地访问ie可以跨域,firefox和谷歌都不行的
Go 旅城通票 2012-09-29
  • 打赏
  • 举报
回复
请求连接为红色不会是200状态的,200状态一般是黑色的,看响应有什么东东
e哥 2012-09-29
  • 打赏
  • 举报
回复

几乎不是个错误,返回为空,状态200,
firebug指向482行,是XmlHttpRequest对象在发送时的代码:
oXHR.send(Data);
Go 旅城通票 2012-09-29
  • 打赏
  • 举报
回复
代码呢?用firebug看下firefox下出现什么错误

52,804

社区成员

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

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