jquery.Ajax()方法调用Asp.Net后台的方法解析
利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法。
先来个简单的实例热热身吧。
1、无参数的方法调用
asp.netcode:
usingSystem.Web.Script.Services;
[WebMethod]
publicstaticstringSayHello()
{
return"HelloAjax!";
}
usingSystem.Web.Script.Services;
[WebMethod]
publicstaticstringSayHello()
{
return"HelloAjax!";
}
注意:1.方法一定要静态方法,而且要有[WebMethod]的声明
JQuerycode:
///<referencepath="jquery-1.4.2-vsdoc.js"/>
$(function(){
$("#btnOK").click(function(){
$.ajax({
//要用post方式
type:"Post",
//方法所在页面和方法名
url:"data.aspx/SayHello",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data){
//返回的数据用data.d获取内容
alert(data.d);
},
error:function(err){
alert(err);
}
});
//禁用按钮的提交
returnfalse;
});
});
///<referencepath="jquery-1.4.2-vsdoc.js"/>
$(function(){
$("#btnOK").click(function(){
$.ajax({
//要用post方式
type:"Post",
//方法所在页面和方法名
url:"data.aspx/SayHello",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data){
//返回的数据用data.d获取内容
alert(data.d);
},
error:function(err){
alert(err);
}
});
//禁用按钮的提交
returnfalse;
});
});
结果:
2、带参数的方法调用
asp.netcode:
usingSystem.Web.Script.Services;
[WebMethod]
publicstaticstringGetStr(stringstr,stringstr2)
{
returnstr+str2;
}
usingSystem.Web.Script.Services;
[WebMethod]
publicstaticstringGetStr(stringstr,stringstr2)
{
returnstr+str2;
}
JQuerycode:
///<referencepath="jquery-1.4.2-vsdoc.js"/>
$(function(){
$("#btnOK").click(function(){
$.ajax({
type:"Post",
url:"data.aspx/GetStr",
//方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字
data:"{"str":"我是","str2":"XXX"}",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data){
//返回的数据用data.d获取内容
alert(data.d);
},
error:function(err){
alert(err);
}
});
//禁用按钮的提交
returnfalse;
});
});
///<referencepath="jquery-1.4.2-vsdoc.js"/>
$(function(){
$("#btnOK").click(function(){
$.ajax({
type:"Post",
url:"data.aspx/GetStr",
//方法传参的写法一定要对,str为形参的名字,str2为第二个形参的名字
data:"{"str":"我是","str2":"XXX"}",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data){
//返回的数据用data.d获取内容
alert(data.d);
},
error:function(err){
alert(err);
}
});
//禁用按钮的提交
returnfalse;
});
});
运行结果:
下面进入高级应用罗
3、返回数组方法的调用
asp.netcode:
usingSystem.Web.Script.Services;
[WebMethod]
publicstaticList<string>GetArray()
{
List<string>li=newList<string>();
for(inti=0;i<10;i++)
li.Add(i+"");
returnli;
}
usingSystem.Web.Script.Services;
[WebMethod]
publicstaticList<string>GetArray()
{
List<string>li=newList<string>();
for(inti=0;i<10;i++)
li.Add(i+"");
returnli;
}
JQuerycode:
///<referencepath="jquery-1.4.2-vsdoc.js"/>
$(function(){
$("#btnOK").click(function(){
$.ajax({
type:"Post",
url:"data.aspx/GetArray",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data){
//插入前先清空ul
$("#list").html("");
//递归获取数据
$(data.d).each(function(){
//插入结果到li里面
$("#list").append("<li>"+this+"</li>");
});
alert(data.d);
},
error:function(err){
alert(err);
}
});
//禁用按钮的提交
returnfalse;
});
});
///<referencepath="jquery-1.4.2-vsdoc.js"/>
$(function(){
$("#btnOK").click(function(){
$.ajax({
type:"Post",
url:"data.aspx/GetArray",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data){
//插入前先清空ul
$("#list").html("");
//递归获取数据
$(data.d).each(function(){
//插入结果到li里面
$("#list").append("<li>"+this+"</li>");
});
alert(data.d);
},
error:function(err){
alert(err);
}
});
//禁用按钮的提交
returnfalse;
});
});
运行结果:
4、返回Hashtable方法的调用
asp.netcode:
usingSystem.Web.Script.Services;
usingSystem.Collections;
[WebMethod]
publicstaticHashtableGetHash(stringkey,stringvalue)
{
Hashtablehs=newHashtable();
hs.Add("www","yahooooooo");
hs.Add(key,value);
returnhs;
}
usingSystem.Web.Script.Services;
usingSystem.Collections;
[WebMethod]
publicstaticHashtableGetHash(stringkey,stringvalue)
{
Hashtablehs=newHashtable();
hs.Add("www","yahooooooo");
hs.Add(key,value);
returnhs;
}
JQuerycode:
///<referencepath="jquery-1.4.2-vsdoc.js"/>
$(function(){
$("#btnOK").click(function(){
$.ajax({
type:"Post",
url:"data.aspx/GetHash",
//记得加双引号 T_T
data:"{"key":"haha","value":"哈哈!"}",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data){
alert("key:haha==>"+data.d["haha"]+"\nkey:www==>"+data.d["www"]);
},
error:function(err){
alert(err+"err");
}
});
//禁用按钮的提交
returnfalse;
});
});
///<referencepath="jquery-1.4.2-vsdoc.js"/>
$(function(){
$("#btnOK").click(function(){
$.ajax({
type:"Post",
url:"data.aspx/GetHash",
//记得加双引号 T_T
data:"{"key":"haha","value":"哈哈!"}",
contentType:"application/json;charset=utf-8",
dataType:"json",
success:function(data){
alert("key:haha==>"+data.d["haha"]+"\nkey:www==>"+data.d["www"]);
},
error:function(err){
alert(err+"err");
}
});
//禁用按钮的提交
returnfalse;
});
});
运行结果:
5、操作xml
XMLtest.xml:
<?xmlversion="1.0"encoding="utf-8"?>
<data>
<item>
<id>1</id>
<name>qwe</name>
</item>
<item>
<id>2</id>
<name>asd</name>
</item>
</data>
<?xmlversion="1.0"encoding="utf-8"?>
<data>
<item>
<id>1</id>
<name>qwe</name>
</item>
<item>
<id>2</id>
<name>asd</name>
</item>
</data>
JQuerycode:
$(function(){
$("#btnOK").click(function(){
$.ajax({
url:"XMLtest.xml",
dataType:"xml",//返回的类型为XML,和前面的Json,不一样了
success:function(xml){
//清空list
$("#list").html("");
//查找xml元素 KVM网上购物毛刷网站建设北京快递公司超声波焊接机
$(xml).find("data>item").each(function(){
$("#list").append("<li>id:"+$(this).find("id").text()+"</li>");
$("#list").append("<li>Name:"+$(this).find("name").text()+"</li>");
})
},
error:function(result,status){//如果没有上面的捕获出错会执行这里的回调函数
alert(status);
}
});
//禁用按钮的提交
returnfalse;
});
});
$(function(){
$("#btnOK").click(function(){
$.ajax({
url:"XMLtest.xml",
dataType:"xml",//返回的类型为XML,和前面的Json,不一样了
success:function(xml){
//清空list
$("#list").html("");
//查找xml元素
$(xml).find("data>item").each(function(){
$("#list").append("<li>id:"+$(this).find("id").text()+"</li>");
$("#list").append("<li>Name:"+$(this).find("name").text()+"</li>");
})
},
error:function(result,status){//如果没有上面的捕获出错会执行这里的回调函数
alert(status);
}
});
//禁用按钮的提交
returnfalse;
});
});
相关文章
- .net 温故知新:【9】.NET日志记录 ILogger使用和原理
- jquery选择器用法_jQuery属性选择器
- [接上篇]在Window10/11的Linux子系统Docker上部署VB.NET Asp.Net Core WebAPI应用
- .net 温故知新:【10】.NET ORM框架EFCore使用入门之CodeFirs、DBFirst
- 数据库使用.NET连接MySQL数据库(net连接mysql)
- NET环境下操作Oracle数据库的技巧(.net操作oracle)
- 数据使用NET改变Oracle数据库的奥秘(net修改oracle)
- NET 与 MySQL 结合能实现优雅的数据事务处理(.net MySQL事物)
- Redis无法安装NET组件(redis装不上net)
- asp.net(C#)动态添加非ASP的标准html控件(如添加Script标签)
- jQuery技巧大放送学习jquery的朋友可以看下
- asp.net下用Aspose.Wordsfor.NET动态生成word文档中的数据表格的方法
- Jquery+ajax请求data显示在GridView上(asp.net)
- jquery调用asp.net页面后台的实现代码
- asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
- 答你所问.NET小常识方便学习asp.net的朋友
- 基于jquery的文本框与autocomplete结合使用(asp.net+json)
- 通过jQuery源码学习javascript(一)
- .Net中导出数据到Excel(asp.net和winform程序中)
- asp.net利用Ajax和Jquery在前台向后台传参数并返回值的实例
- UpdatePanel和jQuery不兼容局部刷新jquery失效
- asp.net使用jquery模板引擎jtemplates呈现表格
- jQuery实现侧边浮动导航菜单效果