0

ウェブ上でさまざまな回答を見て、多くのコピーと貼り付けを行いました。それは私にはうまくいきません。誰でも理由を教えてもらえますか?? 私はとてもイライラしています >_< web.config ファイルで何かをしなければなりませんか? 「WebService.asmx/add」でもブラウザから何も返されないことがわかりません (そのようなリンクがないためです)。jQuery はどのように結果を取得しますか? httphandler をいくつか追加する必要がありますよね?ここに画像の説明を入力

4

2 に答える 2

1

あなたの画像にあるように、あなたの webmethod には静的メソッドがありません。

サービスを利用するには、webmethod を静的メソッドにする必要があります。 Web メソッドと静的

[WebMethod]
Public static string HelloWorld()
{
 return "Hi";
}

詳細については、このリンクを参照してください

  1. Web サービスと Jquery
于 2013-03-11T15:46:35.033 に答える
0

嫌われているのか何なのかわからない。私に答える人がいないだけです。とても悲しい。...>_<... 数日間の調査の後、何らかの方法で機能することがわかりました JSON 文字列としてデータをシリアル化する属性の必要性は

[System.Web.Script.Services.ScriptService]

だから私は自分のasmxコードを

<%@ WebService Language="C#" Class="WebService" %>

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using System.Data;
using System.Data.SqlClient;
[System.Web.Script.Services.ScriptService]
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService  : System.Web.Services.WebService {

[WebMethod]    
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloWorld() {
    return "Hello World";
}
[WebMethod]    
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public int add(int a, int b)
{
    return a + b;
}

}

私のjQueryコードとして

       $(
        function () {
            $.ajax({
                type: "POST",
                url: 'WebService.asmx/add',
                data: "{'a':15, 'b':20}", //be careful! do pass it as a string
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    alert(msg.d);
                },
                error: function (e) {
                    alert("WebSerivce unreachable");
                }
            });
        }
    );

これは正しく 35 を返しました。

良い!

于 2013-03-13T14:50:55.717 に答える