最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Jquery Ajax访问WCF服务和跨域访问WCF
时间:2012-03-17 编辑:简简单单 来源:一聚教程网
代码如下 | 复制代码 |
using jquery ajax call wcf service get/post/put/delete |
jQuery ajax跨域调用WCF服务
以下是契约层接口:
代码如下 | 复制代码 |
namespace Valor.ValorCom.Contracts |
第一点要注意的:指定服务可以通过GET方式调用,设置请求和响应的格式都是JSON.
以下是服务类:
代码如下 | 复制代码 |
namespace Valor.ValorCom.Services { [AspNetCompatibilityRequirements( RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] [JavascriptCallbackBehavior(UrlParameterName = "jsoncallback")] public class NAVService : INAVService { public NAVService() { } /// /// 添加订单 /// /// 订单号 /// public string AddOrderForNAV(int orderId) { string result = ""; if (Common.TurnNav()) { //添加订单相关代码 } else { result = "未开启与NAV系统同步订单的接口"; } return result; } } } |
第二点要注意的,一定要加上[JavascriptCallbackBehavior(UrlParameterName = "jsoncallback")],为javascript回调使用,UrlParameterName 设置用于跨域脚本访问的 URL 查询字符串参数名称。[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 用于asp.net管道兼容,这样的话此服务可以通过jquery ajax跨域调用,asp.net程序也可以通过生成此服务的代理来调用. 以下是配置文件信息
代码如下 | 复制代码 |
第三点注意:
代码如下 | 复制代码 |
这里配置了两上终结点,第一个终结点的配置给jquery ajax以web的形式调用该服务,指定该终结点的绑定为webHttpBinding,我们看下behaviorConfiguration的配置,
behaviorConfiguration="webBehavior",如下图配置,
代码如下 | 复制代码 |
接下来我们再看下bindingConfiguration的配置,bindingConfiguration="webBinding",详细配置如下图,crossDomainScriptAccessEnabled指定脚本可以跨域访问.
代码如下 | 复制代码 |
第二个终结点的配置提供给asp.net通过服务代理的方式调用.
最后就是客户端调用(注:GET方式在各浏览器下都正常,POST方式只有在IE下能通过,其它浏览器因为安全原因拒绝跨域POST提交)
代码如下 | 复制代码 |
|
相关文章
- jQuery Ajax实现跨域请求的教程 02-13
- jQuery序列化Ajax跨域序列化请求$.ajax 07-12
- ajax跨域访问 JQuery的跨域详解 10-07
- jquery ajax跨域请求详解 05-22
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31