从 jQuery 调用 Web 服务

Posted

技术标签:

【中文标题】从 jQuery 调用 Web 服务【英文标题】:Call web service from jQuery 【发布时间】:2012-06-18 09:29:54 【问题描述】:

我正在尝试使用 jQuery 来使用我的 Web 服务,并且基本上只需要 Web 服务来调用函数就可以了。

我在 .NET 中使用的代码是这样的:

[ServiceContract(Namespace = "http://Sinvise.Service/")]
    public interface ISinvise
    
        [OperationContract]
        void Output(string value);
    

    class SinviseService : ISinvise
    
        second sec = new second();

        public void Output(string value)
        
            sec.message(value);
        
    

+

Uri baseAddr = new Uri("http://localhost:60185/Sinvise");
            ServiceHost localHost = new ServiceHost(typeof(SinviseService), baseAddr);

            try
            
                Process.Start(baseAddr.AbsoluteUri);
                localHost.AddServiceEndpoint(typeof(ISinvise), new WSHttpBinding(), "CalculatorService");

                ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
                smb.HttpGetEnabled = true;
                localHost.Description.Behaviors.Add(smb);

                localHost.Open();
                Console.WriteLine("Service initialized.");
                Console.WriteLine("Press the ENTER key to terminate service.");
                Console.ReadLine();

                localHost.Close();
            
            catch (CommunicationException ex)
            
                Console.WriteLine("Oops! Exception: 0", ex.Message);
                localHost.Abort();
            

我怎样才能简单地调用Output 网络服务?

谢谢

【问题讨论】:

【参考方案1】:

您可以使用 .get() 来使用 ajax 请求

由于浏览器安全限制,大多数“Ajax”请求都受同源策略的约束;请求无法从不同的域、子域或协议成功检索数据。脚本和 JSONP 请求不受同源策略限制。

【讨论】:

我需要浏览器能够发送和接收来自服务的值 另外我正在尝试使用普通的 html 页面连接到 localhost Web 服务,我知道这是不可能的,因为它是跨域调用 @SandeepBansal i 可以使用 JSONp(动态嵌入获取请求),但您只能获取 有没有办法让 HTML 文件托管在 WCF 服务中? @Sandeep 如果您想使用 GET 以外的 http 方法,您必须在 WCF social.msdn.microsoft.com/Forums/en-US/wcf/thread/… 中启用 CORS 支持

以上是关于从 jQuery 调用 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

使用 Response.Write JSON 输出从 Jquery 调用 c# asmx Web 服务

使用 JSON 从 AJAX 和 JQuery 调用简单的 Web 服务(.asmx 文件) - 解析错误

如何使用 jQuery 调用 ASP.NET Web 服务?

从jquery发送数据到wcf Web服务

从 jQuery 调用 WCF 服务库的问题

如何使用jQuery调用带有参数的asp.net asmx web服务来获取响应