以前使用ajax时,url和平常的url请求一样,然后在对应页面的page_load中写对应的接收方法,但是我看到网上很多,ajax可以直接指定访问对应页面(或本页面)的后台某个方法,但是为什么我写的方法没结果呢?
webForm1.aspx内容如下:
<heard>
(jquery的引用已经引用)
<script type="text/javascript">
funcation setAjax(){
$.ajax({
type:"GET",
url:"webForm1.aspx/setAjax",
async:false,
success:function(data){
var obj=eval(data);
alert(obj.name);
}
});
}
</script>
</heard>
<body>
<form id="sdf" runat="server">
<input type="button" id="btn" value="测试ajax" onclick="setAjax();" />
</form>
</body>
对应的后台代码是这样的
[webmethod]
public string setAjax(){
return "{name;wangpeng}";
}
点击按钮后,没反应,后台方法使用静态的也不行,应该怎么写啊?
答案:http://blog.163.com/wangpeng126_2009@126/blog/static/121022611201211793820850/
http://blog.163.com/wangpeng126_2009@126/blog/static/1210226112012112551745525/
ajax用post方式
后台方法用static
contentType: "application/json",
var obj=eval(data);
alert(obj.name);
改成 alert(obj.name); 把var obj=eval(data);去掉
。。。。。。这个问题真是。
url:"webForm1.aspx/setAjax" 写错了,这种是webservice或者MVC,url重写 的写法。你是看哪篇文章。
页面或handler是用URL 的方式 webForm1.aspx?act=setAjax
page_load() { if(Request["act"]=="setAjax") { setAjax(); } }
1,首先前台的Ajax webForm1.aspx/setAjax应该是是"webForm1.aspx?setAjax="+参数
2,后台"{name;wangpeng}";这是什么格式呢?json[name:wangpeng]
你这url是什么东西?webForm1.aspx/setAjax,setAjax是参数吗?