首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从jQuery和JSON调用WCF REST服务时的访问-控制-允许-原产地

从jQuery和JSON调用WCF REST服务时的访问-控制-允许-原产地
EN

Stack Overflow用户
提问于 2013-11-28 07:13:14
回答 2查看 1.9K关注 0票数 0

我有下面的代码。

WCF REST方法

代码语言:javascript
运行
复制
    [WebInvoke(Method = "GET",
        ResponseFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Wrapped,
        UriTemplate = "Account")]
    [OperationContract]
    string GetUniqueLoginId();

客户端调用

代码语言:javascript
运行
复制
$.ajax({
    type: "GET",
    url: serviceURL + 'Account',
    contentType: 'application/json; charset=utf-8',
    dataType: "json",
    success: app.onGetUniqueId,
    error: app.onAjaxError
 });

当我使用IE (11)时,它通过返回唯一的id来完美地工作。但是,当我使用铬时,它会给出以下错误。

代码语言:javascript
运行
复制
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin   'http://localhost:5553' is therefore not allowed access.

如何解决这个问题?任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2013-12-14 20:30:25

这意味着您请求的WCF服务与调用它的应用程序不同,因此受"Same Origin policy" .You的限制,必须使用JSONP(服务必须支持jsonp)或CORS (服务器端应该添加允许您的来源的CORS标头)。

票数 1
EN

Stack Overflow用户

发布于 2015-04-17 19:15:58

通过在web配置文件中添加以下配置,您需要在IIS或IIS Express上托管的服务上启用CORS。

代码语言:javascript
运行
复制
<system.webServer>  

<httpProtocol>  
  <customHeaders>  
    <add name="Access-Control-Allow-Origin" value="*" />  
  </customHeaders>  
</httpProtocol>
 ...

通过将其设置为*,我们允许来自任何来源的请求访问服务。

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

https://stackoverflow.com/questions/20259876

复制
相关文章

相似问题

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