0

私は、ボディの .net1.1 onload でこの JavaScript メソッド「test」を呼び出しています。Web メソッドは文字列データを返しますが、Jquery メソッドでそのデータを取得できません。HiddenPage.aspx で ==============================

機能テスト() {

       debugger;

$.ajax({
                type: "POST",
                url: "HiddenPage.aspx/GetServerTime",
                //async : false,
                //data: "i=1",
                contentType: "application/json",
                //dataType: "text",
                success: function(msg) 
                // error: function(, textStatus, errorThrown) {
                {
                    debugger;
                         alert(msg.d);

                }, 
                error: function(msg) 
                //complete: function (jqXHR, textStatus) {

                {
                   debugger;
                   alert(msg.d); 
                    alert("Error! Try again..."); 
                    //return false;
                }


            })
     // return '';
  }

HiddenPage.aspx.cs に webmthod.My WebMethod を入れました:-

    [WebMethod()]
    public static string GetServerTime()
    {

        return DateTime.Now.ToString();
    }
4

3 に答える 3

1

データを返すコードを投稿してください。

Web サービスを使用するには、ASMX ファイルを作成することをお勧めします。使いやすいです。Webサービスを作成し、Webメソッドの前にWebサービスに以下の行を追加したことを確認してください。

[System.Web.Script.Services.ScriptService]

その後、書いたのと同じように Web メソッドを追加できます。

jquery は次のようになります。

  $.ajax({
            type: "POST",
            url: "webservice/WebService1.asmx/GetServerTime",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccessCall,
            error: OnErrorCall
        });        

    function OnSuccessCall(msg) {

        alert(msg.d);


    }

    function OnErrorCall(msg) {
        alert(msg.status + " " + msg.statusText);
    }

それはあなたを助けるかもしれません。ハッピーコーディング。

于 2012-12-07T12:13:32.593 に答える
0

戻りデータがどのように表示されるかはよくわかりませんが、次のことを試すことができます。

$.ajax({
    type: "POST",
    url: "HiddenPage.aspx/GetServerTime",
    //async : false,
    //data: "i=1",
    contentType: "application/json",
    dataType: "html",
    success: function(data){
        alert(data);
    },
    error: function(jqXHR, textStatus) {
        debugger;
        if (jqXHR.status === 0) alert('Not connect.\n Verify Network.');
        else if (jqXHR.status == 404) alert('Requested page not found. [404]');
        else if (jqXHR.status == 500) alert('Internal Server Error [500].');
        else if (textStatus === 'parsererror') alert('Requested JSON parse failed.');
        else if (textStatus === 'timeout') alert('Time out error.');
        else if (textStatus === 'abort') alert('Ajax request aborted.');
        else alert('Uncaught Error.\n' + jqXHR.responseText);
        //return false;
    }
    //return '';
}​
于 2012-12-07T12:08:41.440 に答える
0

以下を試してください

$.ajax({
  type: "POST",
  url: "HiddenPage.aspx/GetServerTime",
  data: "{}",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
            alert(msg.d);
    // Do something interesting here.
  }
});
于 2012-12-07T12:23:45.183 に答える