jquery.Ajax() method calls Asp.Net background method analysis

高洛峰
Release: 2016-12-16 16:25:57
Original
1786 people have browsed it

Using JQuery’s $.ajax() can easily call asp.net’s background methods.
Let’s warm up with a simple example first.

1. Method call without parameters
asp.net code:

using System.Web.Script.Services; [WebMethod] public static string SayHello() { return "Hello Ajax!"; } using System.Web.Script.Services; [WebMethod] public static string SayHello() { return "Hello Ajax!"; }
Copy after login

Note: 1. The method must be a static method and must have the declaration of [WebMethod]

JQuery code:

///  $(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); } }); //禁用按钮的提交 return false; }); }); ///  $(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); } }); //禁用按钮的提交 return false; }); });
Copy after login

Result:

2. Method call with parameters
asp.net code:

using System.Web.Script.Services; [WebMethod] public static string GetStr(string str, string str2) { return str + str2; } using System.Web.Script.Services; [WebMethod] public static string GetStr(string str, string str2) { return str + str2; }
Copy after login

JQuery code:

///  $(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); } }); //禁用按钮的提交 return false; }); }); ///  $(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); } }); //禁用按钮的提交 return false; }); });
Copy after login

Running result:

Enter the advanced application below

3. Calling the method that returns an array
asp.net code:

using System.Web.Script.Services; [WebMethod] public static List GetArray() { List li = new List(); for (int i = 0; i < 10; i++) li.Add(i + ""); return li; } using System.Web.Script.Services; [WebMethod] public static List GetArray() { List li = new List(); for (int i = 0; i < 10; i++) li.Add(i + ""); return li; }
Copy after login

JQuery code :

///  $(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("
  • " + this + "
  • "); }); alert(data.d); }, error: function(err) { alert(err); } }); //禁用按钮的提交 return false; }); }); /// $(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("
  • " + this + "
  • "); }); alert(data.d); }, error: function(err) { alert(err); } }); //禁用按钮的提交 return false; }); });
    Copy after login

    Run result:

    4. Return the call of Hashtable method
    asp.net code:

    using System.Web.Script.Services; using System.Collections; [WebMethod] public static Hashtable GetHash(string key,string value) { Hashtable hs = new Hashtable(); hs.Add("www", "yahooooooo"); hs.Add(key, value); return hs; } using System.Web.Script.Services; using System.Collections; [WebMethod] public static Hashtable GetHash(string key,string value) { Hashtable hs = new Hashtable(); hs.Add("www", "yahooooooo"); hs.Add(key, value); return hs; }
    Copy after login

    JQuery code:

    ///  $(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"]+"\n key: www ==> "+data.d["www"]); }, error: function(err) { alert(err + "err"); } }); //禁用按钮的提交 return false; }); }); ///  $(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"]+"\n key: www ==> "+data.d["www"]); }, error: function(err) { alert(err + "err"); } }); //禁用按钮的提交 return false; }); });
    Copy after login

    Run result:

    5. Operation xml
    XMLtest.xml:

       1 qwe   2 asd      1 qwe   2 asd  
    Copy after login

    JQuery code :

    $(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("
  • id:" + $(this).find("id").text() +"
  • "); $("#list").append("
  • Name:"+ $(this).find("name").text() + "
  • "); }) }, error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数 alert(status); } }); //禁用按钮的提交 return false; }); }); $(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("
  • id:" + $(this).find("id").text() +"
  • "); $("#list").append("
  • Name:"+ $(this).find("name").text() + "
  • "); }) }, error: function(result, status) { //如果没有上面的捕获出错会执行这里的回调函数 alert(status); } }); //禁用按钮的提交 return false; }); });
    Copy after login

    [10.121.158.27:4002] Too many user code to run when -usercode_in_pthread is on



    For more jquery.Ajax() method calling Asp.Net background method analysis related articles, please Follow PHP Chinese website!

    Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!