【问题标题】:Calling ASPX method from jquery AJAX从 jquery AJAX 调用 ASPX 方法
【发布时间】:2013-11-08 22:02:32
【问题描述】:

我正在尝试通过 AJAX 使用 jQuery 在单独的 ASPX 文件中调用一个方法。在使用相同的基本程序运行了许多教程之后,我仍然没有运气。

这是标记

<input class="myButton">
<div id="debug"></div>

jquery

$(".myButton").click(function(e){       
    e.preventDefault();
    alert('go');   //this triggers just fine.



    $.ajax({
                     type: "POST",
                     url: "/functions.aspx/ServerSideMethod",
                     data: "{'param1': 'foo'}",
                     contentType: "application/json; charset=utf-8",
                     dataType: "json",
                     async: true,
                     cache: false,
                     success: function (msg) {
                         $('div#debug').text(msg.d); 
                     }
        });



});

以及驻留在我的 functions.aspx 文件中的 ASP(全部,完全未经编辑)

[WebMethod]
public static string ServerSideMethod(string param1)
{
    return "Message from server with parameter:"+param1;
}

目前,它似乎可以正常连接到页面。我得到的错误如下:

未知的网络方法 ServerSideMethod。参数名称:方​​法名

描述:执行过程中发生了未处理的异常 当前的网络请求。请查看堆栈跟踪以获取更多信息 有关错误的信息以及它在代码中的来源。

异常详细信息:System.ArgumentException:未知的网络方法 服务器端方法。参数名称:方​​法名

【问题讨论】:

  • 我认为你可以使用 __doPostBack() webpronews.com/postbacks-with-parameters-in-javascript-2007-01
  • 这似乎是一条不错的路线……但是如何传递参数呢?从您的链接看来,这应该是可能的,但我似乎无法理解它们。
  • __doPostBack 将回发整个页面。我想@sdowswell 不想刷新整个页面。

标签: jquery asp.net ajax


【解决方案1】:

您的网址可能不正确。如果您调用的页面位于以下位置:

/a/b/yourpage.aspx

您的调用正在以下位置查找您的 functions.aspx 文件

/a/b/functions.aspx

确保url路径正确。

【讨论】:

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