asp.net MVC 使用JQuery.Ajax
使用到:Jquery.js 以及 Newtonsoft.Json.dll
客户端调用方式:
$("#ButAjax").click(function() {
$.ajax({
type: "POST", //默认是GET
url: "/AjaxTest/getPerson",
data: "ID=1&FirstName=C&LastName=HY",
async: true, //异步
cache: false, //不加载缓存
success: function(obj) {
alert(obj.ID + obj.FirstName + obj.LastName + obj.Man);
},
error: function() {
alert("请求失败");
}
});
});
$("#ButAjax2").click(function() {
$.ajax({
type: "POST", //默认是GET
url: "/AjaxTest/getPerson2?ID=3&FirstName=C&LastName=HY",
async: true, //异步
cache: false, //不加载缓存
success: function(obj) {
alert(obj.ID + obj.FirstName + obj.LastName + obj.Man);
},
error: function() {
alert("请求失败");
}
});
});
$("#ButAjax3").click(function() {
$.ajax({
type: "POST", //默认是GET
url: "/AjaxTest/getString",
async: true, //异步
cache: false, //不加载缓存
success: function(str) {
alert(str);
},
error: function() {
alert("请求失败");
}
});
});
$("#ButAjax4").click(function() {
$.ajax({
type: "POST", //默认是GET
url: "/AjaxTest/getJsonString",
async: true, //异步
cache: false, //不加载缓存
success: function(str) {
var obj = eval(str);
$.each(obj, function(item, value) {
alert(item + ":" + obj[item]);
});
},
error: function() {
alert("请求失败");
}
});
});
//================================================================
$("#ButJson1").click(function() {
$.getJSON("/AjaxTest/getJson1", { ID: "22", FirstName: "C1", LastName: "HY1" }, function(json) {
alert(json);
$.each(json, function(item, value) {
alert(item + ":" + json[item]);
});
});
});
$("#ButJson2").click(function() {
$.getJSON("/AjaxTest/getJson2", { ID: "22", FirstName: "C1", LastName: "HY1" }, function(json) {
alert(json);
$.each(json, function(item, value) {
alert(item + ":" + json[item]);
});
});
});
$("#ButJson3").click(function() {
$.getJSON("/AjaxTest/getJson3", { ID: "22", FirstName: "C1", LastName: "HY1" }, function(json) {
alert(json);
$.each(json, function(item, value) {
alert(item + ":" + json[item]);
});
});
});
$("#ButJson4").click(function() {
$.getJSON("/AjaxTest/getJsonSerializingJson", { ID: "22", FirstName: "C1", LastName: "HY1" }, function(json) {
alert(json);
$.each(json, function(item, value) {
alert(item + ":" + json[item]);
});
});
});
$("#ButJson5").click(function() {
$.getJSON("/AjaxTest/getJsonDeSerializingJson",
{ json: '{"ID":201,"FirstName":"C","LastName":"HY","Man":true}' },
function(json) {
alert(json);
$.each(json, function(item, value) {
alert(item + ":" + json[item]);
});
});
});
//================================================================
$("#ButSerializing").click(function() {
$.ajax({
type: "POST",
url: "/AjaxTest/testSerializingJson",
data: "ID=101&FirstName=C&LastName=HY&Man=false",
async: true,
cache: false,
success: function(obj) {
alert(obj);
},
error: function() {
alert("请求失败");
}
});
});
$("#ButDeSerializing").click(function() {
$.ajax({
type: "POST",
url: "/AjaxTest/testDeSerializingJson",
data: 'json={"ID":201,"FirstName":"C","LastName":"HY","Man":true}',
async: true,
cache: false,
success: function(obj) {
alert(obj.ID + obj.FirstName + obj.LastName + obj.Man);
},
error: function() {
alert("请求失败");
}
});
});
$("#ButSerializingList").click(function() {
$.ajax({
type: "POST",
url: "/AjaxTest/serializingList",
data: "",
async: true,
cache: false,
success: function(obj) {
alert(obj + "length:" + obj.length);
$.each(obj, function() {
$.each(this, function(item, value) {
alert(item + ":" + json[item]);
});
});
},
error: function() {
alert("请求失败");
}
});
});
Controllers 代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization.Json;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication.Controllers
{
public class Person
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public bool Man { get; set; }
}
public class AjaxTestController : Controller
{
#region ===============$.Ajax测试=================
/// <summary>
/// 测试返回对象
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
public JsonResult getPerson(FormCollection form)
{
Person p = new Person
{
ID = int.Parse(form["ID"]),
FirstName = form["FirstName"],
LastName = form["LastName"]
};
return Json(p);
}
/// <summary>
/// 经测试发现:当Global中定义{controller}/{action}/{id}时
/// 前台url?ID=3&FirstName=C&LastName=HY传到后台时ID值为""
/// 所以把Global中定义为{controller}/{action}/{uid}
/// </summary>
/// <param name="ID"></param>
/// <param name="FirstName"></param>
/// <param name="LastName"></param>
/// <returns></returns>
public JsonResult getPerson2(string ID, string FirstName, string LastName)
{
Person p = new Person
{
ID = int.Parse(ID),
FirstName = FirstName,
LastName = LastName
};
return Json(p);
}
/// <summary>
/// 测试返回字符串
/// </summary>
/// <returns></returns>
public ContentResult getString()
{
return Content("{id:'2',FirstName:'C',LastName:'HY'}");
}
/// <summary>
/// 测试返回json字符串
/// </summary>
/// <returns></returns>
public ContentResult getJsonString()
{
return Content("({id:'2',FirstName:'C',LastName:'HY'})");
}
#endregion
#region ==============$.getJSON(返回json格式测试)============
/// <summary>
/// 经测试发现必须是双引号(")不能是单引号(')
/// </summary>
/// <param name="Code"></param>
/// <param name="FirstName"></param>
/// <param name="LastName"></param>
/// <returns></returns>
public ContentResult getJson1(string ID, string FirstName, string LastName)
{
return Content("{\"id\":1,\"name\":\"chy\",\"flag\":true}");
}
/// <summary>
/// 经测试发现必须是双引号(")不能是单引号(')
/// </summary>
/// <param name="Code"></param>
/// <param name="FirstName"></param>
/// <param name="LastName"></param>
/// <returns></returns>
public ContentResult getJson2(string ID, string FirstName, string LastName)
{
return Content("{\"id\":\"2\",\"name\":\"chy\"}");
}
/// <summary>
/// 经测试发现必须是双引号(")不能是单引号(')
/// 产生错误前台没反应
/// </summary>
/// <param name="Code"></param>
/// <param name="FirstName"></param>
/// <param name="LastName"></param>
/// <returns></returns>
public ContentResult getJson3(string ID, string FirstName, string LastName)
{
return Content("{'id':'3'}");
}
#endregion
#region============Newtonsoft.Json.dll(json序列化和反序列化测试)=============
/// <summary>
/// $.Ajax序列化Json
/// </summary>
/// <param name="ID"></param>
/// <param name="FirstName"></param>
/// <param name="LastName"></param>
/// <returns></returns>
public ContentResult testSerializingJson(FormCollection form)
{
Person p = new Person
{
ID = int.Parse(form["ID"]),
FirstName = form["FirstName"],
LastName = form["LastName"]
};
return Content(Newtonsoft.Json.JsonConvert.SerializeObject(p));
}
/// <summary>
/// $.Ajax反序列化json
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
public JsonResult testDeSerializingJson(FormCollection form)
{
Person p = Newtonsoft.Json.JsonConvert.DeserializeObject<Person>(form["json"].ToString());
return Json(p);
}
/// <summary>
/// $.getJSON序列化Json
/// </summary>
/// <param name="ID"></param>
/// <param name="FirstName"></param>
/// <param name="LastName"></param>
/// <returns></returns>
public ContentResult getJsonSerializingJson(string ID, string FirstName, string LastName)
{
Person p = new Person
{
ID = int.Parse(ID),
FirstName = FirstName,
LastName = LastName
};
return Content(Newtonsoft.Json.JsonConvert.SerializeObject(p));
}
/// <summary>
/// $.getJSON反序列化json
/// </summary>
/// <param name="form"></param>
/// <returns></returns>
public ContentResult getJsonDeSerializingJson(string json)
{
Person p = Newtonsoft.Json.JsonConvert.DeserializeObject<Person>(json);
return Content(Newtonsoft.Json.JsonConvert.SerializeObject(p));
}
#endregion
#region================返回集合================
public JsonResult serializingList()
{
List<Person> ls = new List<Person>();
ls.Add(new Person
{
ID = 1,
FirstName = "C",
LastName = "HY",
Man = false
});
ls.Add(new Person
{
ID = 2,
FirstName = "Z",
LastName = "JJ",
Man = true
});
return Json(ls);
}
public JsonResult deSerializingList(string json)
{
List<Person> listP = new List<Person>();
List<string> listStr = json.Split(',').ToList<string>();
foreach (string s in listStr)
{
listP.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Person>(s));
}
return Json(listP);
}
#endregion
}
}
转载原文:http://blog.163.com/china__xuhua/blog/static/1997231692011101842121717/
asp.net MVC 使用JQuery.Ajax的更多相关文章
- asp.net mvc 接收jquery ajax发送的数组对象
<script type="text/javascript"> $(function () { var obj = { name: "军需品", m ...
- ASP.NET MVC学习之Ajax(完结)
一.前言 通过上面的一番学习,大家一定收获不少.但是总归会有一个结束的时候,但是这个结束也意味着新的开始. 如果你是从事ASP.NET开发,并且也使用了第三方控件,那么一定会觉得ASP.NET开发aj ...
- bootstrap-data-target触发模态弹出窗元素的data使用 data-toggle与data-target的作用 深入ASP.NET MVC之九:Ajax支持 Asp.Net MVC4系列--进阶篇之AJAX
bootstrap-data-target触发模态弹出窗元素的data使用 时间:2017-05-27 14:22:34 阅读:4479 评论:0 收藏:0 [ ...
- ASP.NET MVC使用jQuery来POST数据至数据库中
学习ASP.NET MVC程序,结合jQuery客户端代码,Post数据至数据库去.Insus.NET今天写一个完整性的例子. 在数据库中,创建一个表[dbo].[TestUser]: 既然是把数据存 ...
- ASP.NET MVC使用jQuery实现Autocomplete
Insus.NET的以前的ASP.NET MVC的练习中,也有实现过Autocomplete的功能.依次是使用jQuery来实现. 首先在数据库准备一些数据: CREATE TABLE [dbo].[ ...
- 【ASP.NET MVC 】让@Ajax.ActionLink获取的数据不进Cache
刚玩这个东西的时候,发现IE会进Cache,不管怎么删除,修改,后台删除了,前台还是一样,找了一下,HTML5只提供了 <meta http-equiv="pragma" c ...
- Asp.net mvc中的Ajax处理
在Asp.net MVC中的使用Ajax, 可以使用通用的Jquery提供的ajax方法,也可以使用MVC中的AjaxHelper. 这篇文章不对具体如何使用做详细说明,只对于在使用Ajax中的一些需 ...
- ASP.NET MVC和jQuery DataTable整合
本文包含代码示例说明如何jQuery插件开发者可以集成到ASP.NET MVC应用程序. 下载源代码- 87.4 KB Introduction The jQuery DataTables plug- ...
- 【翻译】了解ASP.NET MVC中的Ajax助手
原文:Understanding AJAX Helpers in ASP.NET MVC 作者: Shailendra Chauhan works as Software Analyst at rep ...
随机推荐
- poj 2584 T-Shirt Gumbo 网络流
题目链接 有5种T-shirt, n个人, 每个人可以接受某些种T-shirt, 每种T-shirt的数量已知, 问每个人能否都穿上自己能接受的T-shirt. 源点向每种T-shirt连边, 权值为 ...
- MySQL学习系列一---命令行连接mysql和执行sql文件
1.命令行连接mysql #mysql -h(主机) -u(用户名) -p (数据库名) mysql -hlocalhost -uroot -p testdb Enter password: **** ...
- Python 错误和异常
1.Python异常类 Python是面向对象语言,所以程序抛出的异常也是类.常见的Python异常有以下几个,大家只要大致扫一眼,有个映像,等到编程的时候,相信大家肯定会不只一次跟他们照面(除非你不 ...
- [转]printf 函数实现的深入剖析
研究printf的实现,首先来看看printf函数的函数体 int printf(const char *fmt, ...) { int i; char buf[256]; va_l ...
- android小知识之EditText输入框之值监控以及类型限制(数字,英语字母,下划线,是否为星号密码)
1.设置EditText的值监听事件 . <span style="font-size:14px;color:#990000;"> EditText ed=new Ed ...
- Windows 系统消息范围和前缀,以及消息大全
Windows系统定义的消息类别消息标识符前缀 消息分类ABM 应用桌面工具栏消息BM 按钮控件消息CB 组合框控件消息CBEM 扩展组合框控件消息CDM 通用对话框消息DBT 设备消息DL 拖曳列表 ...
- 如何使用picasso 对Android图片下载缓存
相比较其他,picasso的图片缓存更加简单一些,他只需要一行代码就可以表述:导入相关jar包 Picasso.with(context).load("图片路径").into(Im ...
- Mysql 忘密码 + Phpadmin 修改密码无法登陆
mysql有时候忘记密码了怎么办?我给出案例和说明!一下就解决了! Windows下的实际操作如下 1.关闭正在运行的MySQL. 2.打开DOS窗口,转到mysql\bin目录. 3.输入mysql ...
- 怎样从一个DLL中导出一个C++类
原文作者:Alex Blekhman 翻译:朱金灿 原文来源: http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx 译 ...
- iOS开发中,应用内直接跳转到Appstore
iOS开发中,应用内直接跳转到Appstore 1.进入appstore中指定的应用NSString *str = [NSString stringWithFormat: ...