javascript - 如何使用 ajax 触发 aspx.cs 文件中的方法

标签 javascript asp.net ajax web-services jquery

我想使用 AjaxPersonalDetails.aspx.cs 页面上调用方法。我已经尝试使用以下代码。但它不起作用。 我只想触发 PersonalDetails.aspx.cs 中包含的方法 我该怎么做? :) 有人可以帮助我吗?

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


 <script type="text/javascript">
    $(document).ready(function () {
        $("input").keydown(function () {
            $("input").css("background-color", "yellow");
        });
        $("input").keyup(function () {
            $("input").css("background-color", "pink");

            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "PersonalDetails.aspx/GetFarmersByName",
                data: { name: +request.term },
                dataType: "json",
                async: true,
                dataFilter: function (data) { return data; },
                success: function (data) {
                    return data;
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                    alert(errorThrown);
                }
            });
        });
    });
</script>

这是我想要激发的方法..

    [WebMethod]
    [ScriptMethod]
    public  bool GetFarmersByName(string name)
    {
        _personalData = new personalData();
        int cky = 45;
        CdMa cdMas = new CdMa();
        cdMas = _personalData.getcdMasByConcdCd2(cky, "AdrPreFix", true);
        int prefixKy = cdMas.CdKy;

        List<FMISPersonalDataViewByName_Result> list = new List<FMISPersonalDataViewByName_Result>();

        list = _personalData.GetPersonalDataByName(prefixKy, cky, name);

        if (list != null)
        {
            grvPersonalData.DataSource = list;
            grvPersonalData.DataBind();
            return true;
        }
        return false;

    }

最佳答案

阿里夫·库雷希 (Aarif Qureshi) 的答案应该被接受。

如果您运行正在运行的内容,您很可能会收到“{"Message":"Invalid JSON Primitive:..."?看起来您的数据对象格式错误,它应该是数据:“{...}”或数据:JSON.stringify({ ... })

(顺便说一句,这也是不正确的 - 并且已经指出了)

关于javascript - 如何使用 ajax 触发 aspx.cs 文件中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17646761/

相关文章:

javascript - GridView PageIndexChanging 事件未在 UpdatePanel 内触发

javascript - 序列化不发送表单中的所有数据

php - AJAX 如何影响 PHP 中的变量和函数?

javascript - jQuery 计算有多少个带有类的 div 并放入字符串中

javascript - 如何在 jQuery 中添加 CSS .nex() 属性

javascript - 根据 CSS 属性设置效果持续时间

javascript - 如何在php中检索ajax发送的数据?

javascript - 如何在 JavaScript 中巧妙地 chop HTML 字符串?

asp.net - 在 ASP.NET Web API 中进行 xml 序列化时,如何防止 '&' 转换为 '&amp'?

ASP.net gridview 图像按钮替代文本