0

我在 .net1.1 onload 的 body 中调用这个 javascript 方法“test”。我的 webmethod 返回字符串数据,但我无法在我的 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

您能否发布您的返回数据代码。

我建议您创建一个 ASMX 文件以使用 Web 服务。它很容易使用。创建一个 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",
  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 回答
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 回答