【问题标题】:How can i post same page with ajax json我如何使用 ajax json 发布同一页面
【发布时间】:2009-10-07 19:22:00
【问题描述】:

这是我在 Default.aspx 源端的 ajax 邮政编码:

 $.ajax({
            type: "POST",
            url: "Default.aspx/f_Bul,
            data: "{_sSKodu:'4'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {

                $("#" + div).html(msg.d);
                $("#" + div).show();
            }
        }
        )

这是我在 Default.aspx.cs 上的函数

 protected void f_Bul(string _sSKodu)
    {
      Select s = new Select(_sSKodu);
    }

我想向 f_Bul 发送参数。但我不能发布这些数据。

我的错误在哪里?

【问题讨论】:

    标签: ajax json


    【解决方案1】:

    您需要使用 [WebMethod] 属性来装饰您的方法,并且它必须是静态的。它可能必须是公开的并返回一个字符串,但不是 100%。

     [WebMethod]
     public static string f_Bul(string _sSKodu)
     {
          Select s = new Select(_sSKodu);
     }
    

    【讨论】:

      【解决方案2】:

      我无法让它与 .aspx 一起工作,所以我去了 .asmx,这就是我最终让它无法工作的方式:

         [System.Web.Script.Services.ScriptService]
          public class getData : System.Web.Services.WebService
          {
              [WebMethod]
              [ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
              public string finalize(String Number)
              {
                  return "{'result':'success'}";
              }
          }
      

      我还必须在我的 .aspx 页面上放置一个脚本管理器,但它终于奏效了。

      【讨论】:

      • 它在 aspx 中可能不适合你,因为被调用的 web 方法必须是静态的。
      • 我想我试过了,花了一段时间之后,我把它从 .aspx 文件中移出并让它工作,所以它可以返回一个 json 并以 json 格式接收所有内容。
      猜你喜欢
      • 2017-06-25
      • 2023-03-24
      • 1970-01-01
      • 2013-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      相关资源
      最近更新 更多