一、asp.net中Jquery调用Ajax
前台代码MyAjax1.aspx为页面名称,AddUsers为后台方法名称
<head runat="server">
<title>添加用户</title>
<script type="text/javascript" src="Scripts/jquery-1.4.1.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
用户名:
<asp:TextBox ID="UserName" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="添加用户" οnclick="Button1_Click" />
</div>
</form>
<script language="javascript" type="text/javascript">
$(function () {
$('#UserName').blur(MyAjax);
});
function MyAjax() {
$.ajax({
//需要使用post提交
type: "post",
contentType: "application/json",
url: "MyAjax1.aspx/AddUsers",
data: "{ uname: '" + $('#UserName').val() + "' }",
dataType: 'json',
success: function (e) {
alert(e.d);//返回json格式
},
error: function (err) {
alert(err);
}
});
}
</script>
</body>
后台代码
using System.Web.Services;//需要引用命名空间
namespace MyWebAjax
{
public partial class MyAjax1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]//方法需要为静态、并且有WebMethod标识
public static string AddUsers(string uname)
{
string result=string.Empty;
if (string.IsNullOrEmpty(uname))
result = "用户名不能为空!";
bool b = Data.IsExist(uname);
if (!b)
result = "用户名可以使用!";
else
result = "用户名已存在!";
return result;
}
}
}
二、asp.net MVC设计模式中Jquery调用Ajax
前台代码
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<script language="javascript" type="text/javascript" src="../../Scripts/jquery-1.4.1-vsdoc.js" ></script>
<%
var mess = "";
switch ((string)ViewData["Message"])
{
case "1":
mess = "用户名已存在!";
break;
case "2":
mess = "用户添加成功!";
break;
case "3":
mess = "用户名不能为空!";
break;
}
%>
<h2>
<%=mess%>
</h2>
<%Html.BeginForm("AddUser", "User"); %>
<%=Html.Label("用户名:") %>
<%=Html.TextBox("UserName") %>
<input name="btnSubmit" type="submit" value="添加用户" />
<%Html.EndForm(); %>
<script type="text/javascript" language="javascript">
$(function () {
$('#UserName').blur(MyAjax);
});
function MyAjax() {
$.ajax({
type: "POST", //默认是GET
url: "/Ajax/AddUsers", //Ajax为Controller名称、AddUsers为Action名称
data: "uname='" + $('#UserName').val() + "'",
async: true, //异步
cache: false, //不加载缓存
success: function (data) {
alert(data);
},
error: function () {
alert("请求失败");
}
});
}
</script>
</asp:Content>
后台代码,下面加红色的地方需要注意,名称需要和前台传入的一样,例如uname
using System.Web.Services;
namespace MyAjax.Controllers
{
public class AjaxController : Controller
{
//
// GET: /Ajax/
public ActionResult Index()
{
return View();
}
public ActionResult AddUsers(string uname)
{
string result = string.Empty;
if (Request.IsAjaxRequest())
{
if (string.IsNullOrEmpty(uname))
result = "用户名不能为空!";
bool b = Data.IsExist(uname);
if (!b)
result = "用户名可以使用!";
else
result = "用户名已存在!";
}
return Content(result);
}
}
希望对需要的人有所帮助!