繁体   English   中英

jQuery使用json wcf C#服务

[英]jQuery consuming a json wcf C# service

这就是我的服务。
我有一个类和一个接口。 我的服务已公开,可以通过wcftestClient工具调用它们。

我可以使用jQuery使用这种Web服务吗?

我有的问题是在jQuery中调用它。 它以JSON格式返回。 我在萤火虫中收到以下错误。

状态代码:找不到HTTP / 1.1 404

.cs

public static string Serialize(object obj)
        {

            if (obj == null)
            {
                string temp = "";
                temp = "";
                obj = temp;
            }

            var jsonSerializer = new DataContractJsonSerializer(obj.GetType());
            string returnValue = "";
            using (var memoryStream = new MemoryStream())
            {
                using (var xmlWriter = JsonReaderWriterFactory.CreateJsonWriter(memoryStream))
                {
                    jsonSerializer.WriteObject(xmlWriter, obj);
                    xmlWriter.Flush();
                    returnValue = Encoding.UTF8.GetString(memoryStream.GetBuffer(), 0, (int)memoryStream.Length);
                }
            }
            return returnValue;
        }

        public string HelloWorld()
        {
            return "Hello World";
        }

接口

 [OperationContract]        
        string HelloWorld();

jQuery的

 function GetService() {
                            var BizName = $('#txtBizName').val();
                            //alert(BizName);
                            $.ajax({
                                url: "http://www.website.com/WCFService/EdWebService.svc?HelloWorld",
                                type: "GET",
                                dataType: "json",                               
                                contentType: "application/json; charset=utf-8",
                                success: function(msg) {
                                    $('#status').html('Output: '+msg['d']['Id']);
                                },
                                error: function(e) {
                                    $('#status').innerHTML = "Unavailable";
                                }                               
                            });

                            alert(BizName);
                        }

此时应更换url: "http://www.website.com/WCFService/EdWebService.svc?HelloWorld"url: "http://www.website.com/WCFService/EdWebService.svc/HelloWorld"在第一。

原因:您不是在调用HelloWorld方法,而是将“ HelloWorld”作为参数(以非常错误的方式)传递给您的服务的某个未知方法(不知道未指定方法的情况下,哪个方法可以解析服务名称)。

然后它应该工作。 如果不是,请更新您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM