小编dda*_*ngo的帖子

通过GET将数组传递给WCF服务

我有一个AJAX调用,我想针对WCF GET服务运行.基本上,对服务的调用(通过jquery)看起来像这样:

$.get(serviceEndpoint, {query : "some search text", statusTypes: [1, 2]}, function (result) { /* do something*/ }, 'text');
Run Code Online (Sandbox Code Playgroud)

当这个调用运行时,我看到firebug中的GET正确通过,我确实击中了端点.但是,该参数statusTypes始终为null.

来自jquery的GET本身看起来像是编码的,但是当我不编码括号时,调用根本不会进入端点:

HTTP://localhost/Services/SomeService.svc/Endpoint statusTypes%5B%5D = 1&statusTypes%5B%5D = 2&查询=一些+搜索+文本

而WCF服务本身:

[OperationContract的]

[WebInvoke(Method ="GET",BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json)]

public ResultsViewModel GetTags(string query,int [] statusTypes)

是否可以通过GET将数组传递给WCF服务?

排列并不多,所以我可以编写一个单独的端点"每个数组",但我宁愿把它保持在一个.

c# wcf jquery

10
推荐指数
1
解决办法
1万
查看次数

jquery .live()事件交互

假设我有一个场景,我有一个全局插件(或者至少是一个绑定到更多事件的插件).

此插件采用选择器,并将实时点击绑定到它.伪jquery中的某些内容可能如下所示:

$.fn.changeSomething = function(){
     $(this).live("change", function(){ alert("yo");});
}
Run Code Online (Sandbox Code Playgroud)

在另一个页面上,我有一个额外的实时绑定,如下所示:

$("input[type='checkbox']").live("click", function(){alert("ho");});
Run Code Online (Sandbox Code Playgroud)

在这种情况下,理想情况下,该复选框最终将绑定到两个直播事件.

我所看到的是变化事件应该触发,我被警告"哟".但是,使用此实时点击事件,我从不触发它.但是,使用显式点击绑定,我会点击它.

简单的解决方法是在实时更改处理程序结束时触发单击事件,但这对我来说似乎很笨拙.有任何想法吗?

请注意,这是使用jquery 1.4.2并且只发生在IE8中(我认为6/7也会,但我还没有测试过它们).

一个例子(你需要jquery-1.4.2.min.js):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $.fn.changeSomething = function(){
        var t = $(this);
        t.live("change", function(){
            alert("yo");
        }); 
    };

    $(document).ready(function(){
    $("input[type='checkbox']").changeSomething();
    $("#special").live("click", function(){
      alert("ho");
    });
    });
</script>
</head>
<body>
<form>
  <input type="checkbox" id="cbx" />
  <input type="checkbox" id="special" />
  </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

jquery live internet-explorer-8

5
推荐指数
1
解决办法
2163
查看次数

标签 统计

jquery ×2

c# ×1

internet-explorer-8 ×1

live ×1

wcf ×1