0

我在我们的服务器中创建了一个 wcf 服务,当我在我的 html 页面中使用此 Web 方法时,它托管在 IIS 中,该页面位于同一服务器中的相同解决方案或不同解决方案中(例如:服务 url://www.xyz.com/ projectname/service.svc/methodname
和域 url://www.xyz.com/projectname) 当我在 ajax jquery 中使用 type='post' 和 datatype="J son" 调用这个 url 时,我成功地从我的网站获得响应method.but 问题是当我在具有不同域名的不同服务器中创建示例 html 页面时(域 url://www.abc.com/projectname 和服务 url//www.xyz.com/projectname/service.svc/methodname )我无法调用 Web 服务,或者我不确切知道它是否在调用 Web 方法并且它显示错误消息,谁能帮我解决任何问题

4

1 回答 1

1

进行跨域 AJAX 调用有两种可能性:

  • JSONP(如果您使用 jquery 并且仅适用于 JSON 响应有效负载,则仅适用于 GET 请求) - 您的服务应支持 JSONP 响应而不是简单的 JSON。基本上这意味着它应该将标准 JSON 包装在一个应该作为参数传递的回调函数中。您可以在此处查看如何在 WCF 服务中本地启用 JSONP 支持:如何为现有 WCF 服务本地启用 JSONP?
  • CORS(适用于所有 HTTP 动词) - 您的 Web 服务必须返回正确的Access-Control-Allow-*响应标头。下面是一个示例,说明如何在 WCF 中创建自定义消息检查器,以附加这些标头:http ://enable-cors.org/server_wcf.html
于 2013-11-07T13:51:24.897 回答