【问题标题】:Can't get ajax to call webmethod无法让ajax调用webmethod
【发布时间】:2023-03-18 05:32:02
【问题描述】:

我似乎无法让这个 ajax 调用工作。 我有这块 javascipt:

function exportCSV(e) {
    var data = document.getElementById("mainTable").innerHTML;
    $.ajax({
        url: "Handlers/Handler.ashx/saveToCsv",
        type: "POST",
        contentType: 'application/json; charset=utf-8',
       //data: data,
       success: function (msg) {
       alert("Success");
              alert(msg);
       },
       error: function (msg) {
              alert("failed ");
       }
    });
}

然后我有一个 handler.cs 文件,我试图调用这个方法:

[WebMethod]
        public static string void saveToCsv()
        {
            StringBuilder sb = new StringBuilder();
            //yet to implement rest
            return "hello";
        }

但是我似乎无法弄清楚为什么它总是失败。

【问题讨论】:

  • WebMethod 不返回任何内容。尝试返回一些格式化的 JSON 或在 ajax 调用中松开 dataType 属性
  • 失败怎么办?抛出异常?
  • 它给了我 404 错误。即使该文件就在 .js 文件旁边。我通过在ajax中复制/粘贴来确保方法名称是正确的。我将发布我当前的代码
  • 你看到失败信息了吗?

标签: jquery asp.net ajax webmethod


【解决方案1】:

确保您在 web 方法之前在 web 服务中添加了以下行

[System.Web.Script.Services.ScriptService]

【讨论】:

    【解决方案2】:

    链接可能有问题:

    处理程序/Handler.ashx/saveToCsv

    尝试使用完整路径来检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多