0

これが私のサービスの様子です。
クラスとインターフェイスがあります。私のサービスは公開されており、wcftestClientツールを介して呼び出すことができます。

jQueryでこのようなWebサービスを利用できますか?

私が抱えている問題は、jQueryでそれを呼び出すことです。JSON形式で返されます。firebugで次のエラーが発生します。

ステータスコード:HTTP /1.1404が見つかりません

.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);
                        }
4

1 に答える 1

0

最初に交換する必要がありurl: "http://www.website.com/WCFService/EdWebService.svc?HelloWorld" ます。url: "http://www.website.com/WCFService/EdWebService.svc/HelloWorld"

理由: HelloWorld メソッドを呼び出していません。代わりに、'HelloWorld' をパラメーターとして (非常に間違った方法で) サービスの不明なメソッド (メソッドが指定されていないサービス名を解決するメソッドがわからない) に渡します。

その後、動作するはずです。そうでない場合は、質問を更新してください。

于 2012-08-09T09:45:52.477 に答える