Asp.net net jquery ajax post

Asp.net net jquery ajax post,asp.net,asp.net-ajax,jquery,modal-dialog,Asp.net,Asp.net Ajax,Jquery,Modal Dialog,我试图通过在模式对话框窗口上单击按钮,使用jquery/ajax调用asp.net方法。但我似乎得到的只是警觉地说“错误”。我在网上看到过很多类似的例子,但我似乎无法让它发挥作用。我调用的页面/方法(newcall.aspx/savenote)与所有jquery/ajax等都是同一页面 有人有什么想法吗 谢谢 var dlg = jQuery("#dialog2").dialog({ bgiframe: false, autoOpe

我试图通过在模式对话框窗口上单击按钮,使用jquery/ajax调用asp.net方法。但我似乎得到的只是警觉地说“错误”。我在网上看到过很多类似的例子,但我似乎无法让它发挥作用。我调用的页面/方法(newcall.aspx/savenote)与所有jquery/ajax等都是同一页面

有人有什么想法吗

谢谢

        var dlg = jQuery("#dialog2").dialog({
            bgiframe: false,
            autoOpen: true,
            height: 410,
            width: 800,
            modal: true,
            show: 'Transfer',
            hide: 'Transfer',
            draggable: true,
            resizable: true,
            buttons: {
                "Cancel": function() {
                    $(this).dialog("close");
                },
                "Save": function() {
                    var txtnote = document.getElementById("<%=txtNote.ClientID %>").value;

                    $.ajax({
                        type: "POST",
                        url: "newcall.aspx/savenote",
                        data: txtnote,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",                            
                        success: function(msg) {
                            alert(msg);
                        },        
                        error: function(XMLHttpRequest, textStatus, errorThrown) {
                            alert(textStatus);
                        }
                    });

                    $(this).dialog("close");
                }
            }
        }

        );

您需要添加WebMethod属性,将页面方法声明为
共享
,并将发送的数据与方法的签名相匹配。以下是更改服务器端方法的方式:

<WebMethod()>_
Public Shared Function savenote() As String
  Return "ok"
End Function
_
作为字符串的公共共享函数savenote()
返回“ok”
端函数

您可以不更改数据参数,但可能不会,因为它是无效的JSON。暂时尝试将数据参数更改为
{}
。当您准备开始向服务器端方法传递txtnote时,您需要将其传递为
{txtnote:'your note string here'}

您需要添加WebMethod属性,将页面方法声明为
Shared
,并将发送的数据与方法的签名相匹配。以下是更改服务器端方法的方式:

<WebMethod()>_
Public Shared Function savenote() As String
  Return "ok"
End Function
_
作为字符串的公共共享函数savenote()
返回“ok”
端函数

您可以不更改数据参数,但可能不会,因为它是无效的JSON。暂时尝试将数据参数更改为
{}
。当您准备开始将txtnote传递到服务器端方法时,您将希望将其作为
{txtnote:'your note string here'}

更改
警报(textStatus)
警报(错误抛出),您得到了什么?缺少WebMethod属性-如何添加此属性?使用WebMethod属性。将[WebMethod]置于savenote()函数上方。更改
警报(textStatus)
警报(错误抛出),您得到了什么?缺少WebMethod属性-如何添加此属性?使用WebMethod属性。将[WebMethod]置于savenote()函数上方。