Home >Backend Development >C#.Net Tutorial >A simple method to directly call the asp.net background using JQuery

A simple method to directly call the asp.net background using JQuery

高洛峰
高洛峰Original
2016-12-08 15:55:561193browse

Using JQuery’s $.ajax() can easily call asp.net’s background methods.

[WebMethod] Namespace

1. Method call without parameters, note: 1. The method must be a static method, and it must have the declaration of [WebMethod]

Backendc4e989964ecde152c8a2042df2981ff1:

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

Frontend3ded21f807d688cff63976c26da61a13:

$(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;
  });
});

2. Method call with parameters

Backendc4e989964ecde152c8a2042df2981ff1:

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

Frontend785cb1be49d37f4be1be5e7f3240618f:

$(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;
  });
});

3. Return array method call

Backendc4e989964ecde152c8a2042df2981ff1:

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

Frontend785cb1be49d37f4be1be5e7f3240618f:

$(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);
      }
    });
  
    //禁用按钮的提交
    return false;
  });
});
///
 <reference path="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);
      }
    });
  
    //禁用按钮的提交
    return false;
  });
});

4. Return Hashtable method call

Backend

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;
}

Front Desk785cb1be49d37f4be1be5e7f3240618f:

$(function()
 { 
  $("#btnOK").click(function()
 { 
    $.ajax({
      type:
"Post",
      url:
"data.aspx/GetHash",
      //记得加双引号
 T_T 
      data:
"{
 &#39;key&#39;: &#39;haha&#39;, &#39;value&#39;: &#39;哈哈!&#39; }",
      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;
  });
});

5. Operation xml

XMLtest.xml:
view
 plaincopy to clipboardprint?
<?xml version="1.0"
 encoding="utf-8" ?>
<data>
<item>
  <id>1</id>
  <name>qwe</name>
</item>
<item>
  <id>2</id>
  <name>asd</name>
</item>
</data>
<?xml version="1.0"
 encoding="utf-8" ?>
<data>
<item>
  <id>1</id>
  <name>qwe</name>
</item>
<item>
  <id>2</id>
  <name>asd</name>
</item>
</data>

Front Desk785cb1be49d37f4be1be5e7f3240618f:

$(function()
 { 
  $("#btnOK").click(function()
 { 
    $.ajax({
      url:
"XMLtest.xml",
      dataType:
&#39;xml&#39;,
//返回的类型为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);
      }
    });
  
    //禁用按钮的提交
    return false;
  });
});


Statement:
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