以下的都是本人的随笔,仅供自己在以后的工作中忘记的时候能快速的提醒以下。
Jquery Ajax前台页面调用后台方法注意以下几点:
1。后台方法要用[WebMethod]修饰,且方法必须是静态的
[WebMethod]
public static List<TB_CIYOA_ActivityInfo> AjaxMethod()
{
CommonFacade commFacade = new CommonFacade();
return commFacade.GetTB_CIYOA_ActivityInfoList();
}
上面的方法就在ApplicationFold文件夹下面Application.aspx对应的Application.aspx.cs 文件中,当然你也可以专门建立一个aspx页面,把后台专门拿来放整个项目的Ajax后台代码
2。
<script type="text/javascript">
function ComboBoxcheckMorePerson(id) {
var urlLoc = window.location.href; //当前目录http://localhost:3016/ApplicationFold/Application.aspx
$.ajax({
type: 'Post',
url: urlLoc + '/AjaxMethod',
dataType: "json",
contentType: "application/json; charset=utf-8",
data: "{}",
success: function (data) {
debugger;
alert("success");
},
error: function (err) {
debugger;
alert("error");
}
});
}
</script>
Asp.NET则,data: "{}",要用引号引起来,
MVC则:data:{},不需要引号引起来,也不需要contentType: "application/json; charset=utf-8",
如果后台是Entity 生成的实体,那么在json序列化的时候是不支持的,会抛异常,需要我们手动创建一个model,才能正常的序列化使用。