Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用ajax在aspx.cs文件中激发方法_Javascript_Asp.net_Ajax_Web Services_Jquery - Fatal编程技术网

Javascript 如何使用ajax在aspx.cs文件中激发方法

Javascript 如何使用ajax在aspx.cs文件中激发方法,javascript,asp.net,ajax,web-services,jquery,Javascript,Asp.net,Ajax,Web Services,Jquery,我想在PersonalDetails.aspx.cs页面上使用Ajax调用一个方法。我已经尝试使用下面的代码来创建它。但它不起作用。 我只想启动PersonalDetails.aspx.cs中包含的方法我该怎么做?:) 谁能帮帮我吗 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"> </script> <s

我想PersonalDetails.aspx.cs页面上使用Ajax调用一个方法。我已经尝试使用下面的代码来创建它。但它不起作用。 我只想启动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>

$(文档).ready(函数(){
$(“输入”).keydown(函数(){
$(“输入”).css(“背景色”、“黄色”);
});
$(“输入”).keyup(函数(){
$(“输入”).css(“背景色”、“粉色”);
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“PersonalDetails.aspx/GetFarmersByName”,
数据:{name:+request.term},
数据类型:“json”,
async:true,
dataFilter:函数(数据){返回数据;},
成功:功能(数据){
返回数据;
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(文本状态);
警报(错误抛出);
}
});
});
});
这是我想用的方法

    [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;

    }
[WebMethod]
[脚本方法]
public bool GetFarmersByName(字符串名称)
{
_personalData=新的personalData();
int-cky=45;
CdMa cdMas=新的CdMa();
cdMas=_personalData.getcdmasbyconcdcdd2(cky,“adrprix”,true);
int prefixKy=cdMas.CdKy;
列表=新列表();
list=\u personalData.GetPersonalDataByName(前缀为ky、cky、name);
如果(列表!=null)
{
grvPersonalData.DataSource=列表;
grvPersonalData.DataBind();
返回true;
}
返回false;
}

请将您的方法GetFarmersByName设置为公共静态bool GetFarmersByName,并尝试调试代码

并改变如下

数据:{name:+request.term+“}”

[WebMethod]
[ScriptMethod]
public  bool GetFarmersByName(string name)
这个方法必须是公共静态方法,如果您想通过ajax调用它,它将返回一些数据


Aarif Qureshi答案应为公认答案

如果您运行正在运行的内容,很可能会收到“{”消息”:“无效的JSON原语:…”?看起来您的数据对象的格式不正确,它应该是数据:“{…}”或数据:JSON.stringify({…})


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

您缺少1)静态关键字2)jquery数据属性不是格式良好的数据:“{'name':'”+request.term+“}”当我放置static时,它显示了一个名为“非静态字段方法或属性所需的对象引用…”的错误,并加亮显示grvPersonalData“。在进行AJAX调用时,您将无法从代码背后绑定数据网格。此外,您将无法在静态方法中使用非静态字段。您可以发布完整的aspx源代码吗?当我放置静态时,它会显示一个名为“非静态字段方法或属性所需的对象引用”的错误,并突出显示“grvPersonalData”。
[WebMethod]
[ScriptMethod]
public static bool GetFarmersByName(string name)