Web方法不适用于jquery

时间:2014-05-07 04:14:50

标签: javascript jquery asp.net

我正在使用Jmeery的webmethod。我已经在成功函数中写了一个警报,当我运行项目但是我的Webmthod没有调用时我得到了警报,所以代码对我来说不起作用。我已经把debub放在了Webmethod的一个点,但它没有打到。我没有得到任何错误,也没有我的方法调用。 下面是我的Jquery和Webmethod的代码:

  <script type='text/javascript' src="Scripts/jquery-1.4.1.min.js"></script>
   function onDialogClosed(sender, args) {         

        $(document).ready(function () {
            $.ajax({
                type: "POST",                  
                url: "SpellChecker.aspx/Save",
                data: { DocName: $("#txttest").val() },                
                success: function (msg) {
                    alert($("#txttest").val());  
                },
                error: function (a,b,c) {
                    alert(a+ b+ c);
                }
            });
        });

    }

WebMEthod:

[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string Save(string DocName)
{
    try
    {
        GeneralDataTraveler objDataTraveller = new GeneralDataTraveler();
        objDataTraveller.Field1 = Convert.ToString(DocName);
        new ServiceCenter().SessionSetGeneralDataTraveller(objDataTraveller);
        return "HEllo";
    }
    catch (Exception ex)
    {
        return null;
    }
}

2 个答案:

答案 0 :(得分:1)

请尝试以下格式指定内容类型,数据类型和数据。这对我有用

 $.ajax({
       type: "POST",
       contentType: "application/json; charset=utf-8",
       url: "order_form.aspx/GetAutoCompleteData", 
       data: '{DocName: "' + $("#txttest").val() + '" }', 
       dataType: "json",
       success: function(data) { 
           //response(data.d);   
           alert('success');
       },
       error: function(XMLHttpRequest, textStatus, errorThrown) { 
         alert(textStatus);
       } 
   });

答案 1 :(得分:0)

尝试以下操作:

1. 启用Webmethod ,使用以下方式从脚本调用

[System.Web.Script.Services.ScriptService]

2.启用在脚本上调用web服务 PAGE METHOD

<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePageMethods="true">
    </cc1:ToolkitScriptManager>

希望这有帮助!