如何从jQuery调用WCF Web服务?

问题描述:

我如何从jquery调用wcf服务(我正在使用asp.net mvc)。这是我用ASMX web服务做:如何从jQuery调用WCF Web服务?

$.ajax({ 
    type: "POST", 
    url: "Services/MyService.asmx/DoSomething", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) { 
     //do the magic 
    } 
}); 

我如何做同样的WCF服务?

+0

@Yassir:这是http://stackoverflow.com/questions/608006/where-am-i-going-wrong-in-calling-asmx-web-methods-from-jquery的副本。你可能没有意识到,但你并没有调用WCF,而是传统的ASMX服务。这就是为什么它说“.asmx”。 – 2009-07-05 00:30:32

+0

@John Saunders:我知道我发布的代码是什么,我通常打电话给asmx服务,现在我想要帮助wcf :)(这不是重复的:d) – 2009-07-05 00:36:07

Rick Strahl有一个很好的例子,几乎和你列出的一样。

亚瑟尔,

如何调用特定的WCF服务将取决于服务的精确细节。例如,它是SOAP服务还是REST服务? JSON或纯XML。

好消息是,如果您的WCF服务与您的ASMX服务完全相同,那么您可以用完全相同的方式调用它。

坏消息是,如果你的WCF服务不同,那么调用它将会有所不同。

我刚刚发布了一篇文章,解释如何使用jQuery和JSON调用WCF服务。

http://yoavniran.wordpress.com/2009/08/02/creating-a-webservice-proxy-with-jquery/

希望它可以帮助你。

Yoav。