【发布时间】:2011-06-22 19:07:19
【问题描述】:
我有一个要针对 WCF GET 服务运行的 AJAX 调用。基本上,对服务的调用(通过 jquery)如下所示:
$.get(serviceEndpoint, {query : "some search text", statusTypes: [1, 2]}, function (result) { /* do something*/ }, 'text');
当此调用运行时,我看到 firebug 中的 GET 正确通过,并且确实到达了端点。但是,参数statusTypes 始终为空。
来自 jquery 的 GET 本身看起来像是被编码的,但是当我不编码括号时,调用根本不会进入端点:
还有 WCF 服务本身:
[运营合同]
[WebInvoke(Method="GET", BodyStyle = WebMessageBodyStyle.WrappedRequest,
响应格式 = WebMessageFormat.Json)]公开 结果视图模型 GetTags(字符串查询,int[] 状态类型)
是否可以通过 GET 将数组传递给 WCF 服务?
排列并不多,因此我可以“每个数组”编写一个单独的端点,但我宁愿将它保留在一个中。
【问题讨论】:
-
作为一种解决方法,您可以将数组转换为字符串,然后使用 String.Split() 在您的服务中解析它。