昨天当我写好一个WCF REST服务之后使用jQuery AJAX调用。结果报了一个错,大致内容如下:
Origin is not allowed by Access-Control-Allow-Origin.
这个错误是告诉我们这个WCF REST服务返回的Content-Type没有找到Access-Control-Allow-Origin.知道原因了,那么我们就需要为这个WCF REST服务添加这个Content-Type。下面是解决方案:
// 为WCF REST服务中的返回对象添加Content-Type public void AddHeader() { WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", "*"); }
然后在WCF REST服务中的每个契约的实现中调用此函数。
参考:http://wcf.codeplex.com/discussions/283419
http://stackoverflow.com/questions/4875195/problem-sending-json-data-from-jquery-to-wcf-rest-method