我想使用 Ajax 在 PersonalDetails.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/