0

私は.csページに関数を持っています

[System.Web.Services.WebMethod]
    public static string getdata()
{
    ProductBAL objbal = new ProductBAL(); // Calling class
    int i = 0;
    i = objbal.get_last_orderid(); //Select query
    i = i + 1;
    ProductDAL objdal = new ProductDAL(); // Calling class
    objdal.insert_new_orderid(i); //Insert query
    HttpCookie orderid = new HttpCookie("orderid");
    orderid.Value = "MP_" + Convert.ToString(i);
    Response.Cookies.Add(orderid);
    Response.Cookies["orderid"].Expires = DateTime.Now.AddHours(5);
    string abc=Convert.ToString(i);
    return abc;
}

私のHtmlページコードは

<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>calling function from .cs</title> 
<script language="javascript" type="text/javascript">    
    function Submit1_onclick() {        

        $.ajax({ type: "GET", url: "default.aspx/getdata()", success: function (data) { });

           alert("Done");        
    }
</script>
</head>

<body>
<form name="ecom" method="post" action="https://www.google.co.in/">
<input id="Submit1" type="submit" name="submit" runat="server" value="Submit" onclick="return Submit1_onclick()">
</form>
</body>

送信クリックで Web 側関数をクライアント側に呼び出そうとしています。何か不足していますか?上記のコードからデモをお願いします

4

5 に答える 5

0

あなたのコメントから、データベース テーブルの新しいエントリをチェックすることで、この方法が機能しているかどうかを確認していることがわかりました。データベース内のデータは、クエリ以外の理由で欠落している可能性があります。確認するには、より単純な Web メソッドを試して、そこから進んでください。

例えば、

HTML :

<input id="submit" type="submit" name="submit" value="Submit" onclick="return submitClick();" />

Javascript :

function submitClick() {
    $.ajax({
        type: "POST",
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        url: "default.aspx/getdata",
        success: function (data) {
            console.log(data);
            alert("success" + data);
        },
        error: function () {
            alert("something went wrong");
        }
    });
    return false; // Note: the return false will prevent postback
}

C#

    [System.Web.Services.WebMethod]
    public static string getdata()
    {
        return "Hello World!";
    }

成功の応答が表示されない場合、問題は確かに JavaScript にあるか、JavaScript からのコールバックを何らかの形で妨げているサイトの設定にあります。

メソッドが成功した場合は、データベース挿入スクリプトでエラーが発生している可能性が高く、その原因を確認するために手順を実行する必要があります。

于 2013-08-27T09:24:08.217 に答える