Jquery ajax调用不起作用..请给我解决方案

时间:2013-10-11 14:33:45

标签: c# jquery asp.net ajax asp.net-4.5

//当focusout事件工作时,使用alert进行测试..但是ajax调用不起作用,我的aspx.cs方法也没有触发..请解决此问题。 //这是我的aspx页面jquery代码。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {
        var elem = document.getElementById('<%=txtProduct.ClientID %>');

        $(elem).focusout(function () {
            myF($(this).val());
        });

        function myF(value) {
            var fist = value.split(' ( ', 1);
            $.ajax({
                type: 'POST',
                url: 'Invoice.aspx/getProductDetails',                   
                data: "{'strCode':'" + fist + "'}",
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                success: function (response) {
                    alert(response.d.toString());
                },
                failure: function (response) {
                    alert('error');
                }
            });
        }
    });
</script>

//服务器端代码

    [WebMethod]
    public static string getProductDetails(string strCode)
    {
        List<string> companyInfo = new List<string>();
        companyInfo.Add(HttpContext.Current.Cache[Convert.ToString(HttpContext.Current.Session["UserID"]) + "CompanyID"].ToString());
        companyInfo.Add(strCode);
        List<string> price = Database.MasterDB.getProductInfo(companyInfo);
        if (price.Count > 0)
            return price[0].ToString();
        else
            return "000";
    }

1 个答案:

答案 0 :(得分:0)

由于您在Web方法中使用Session事件,因此可能会提供空值或空值。这是因为您尚未为webmethod启用会话。

像这样 - [WebMethod(EnableSession=true)]

Read more