一、前言

  AJAX 是我们教程用到的请求数据的技术,在这里我就给自己做一个小结。

二、案例

  我使用的是 JQuery 的 AJAX 来实践。后端服务我使用的是 c# 的mvc。

  后端代码;

using com.core.student;
using com.server.student;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Study.Web.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
} public string GetStudent()
{ StudentService studentService = new StudentService();
var result = JsonConvert.SerializeObject(studentService.GetStudents());
return result;
} public string SetName(string Name) {
return "您好:"+Name;
} public string SetStudent(int id,string name,int age) {
return JsonConvert.SerializeObject(new Student(id,name,age));
}
}
}

前端Index.html 界面

@using com.core.student;
@model List<Student>
@{
ViewBag.Title = "Ajax学习";
}
@section StyleCss{
<style type="text/css">
table tr td, table tr th {
border: 1px solid #eee;
width: 100px;
text-align: center;
height: 20px;
} table tr:nth-child(2n) td {
background: #eee;
}
</style> }
<div class="jumbotron">
<h1>Ajax 学习</h1>
<p class="lead">学习获取数据GetStudent(),修改标题SetName(string Name),提交表单数据SetStudent(int id,string name,int age)。</p>
<p><a href="https://www.cnblogs.com/gzbit-zxx" class="btn btn-primary btn-lg">博客园 幸福摩天轮 &raquo;</a></p>
</div> <div class="row">
<h3 style="width:100%;border-bottom:1px solid #eee;text-align:center;height:40px;line-height:1.5px;">Ajax 内部调用</h3>
<div class="col-md-4"> <h2>获取学生信息</h2>
<table id="table"></table>
<br />
<p><a class="btn btn-default" id="learnmore">获取数据</a></p>
</div>
<div class="col-md-4">
<h2 id="title">我是标题</h2>
<p>点击 “修改标题” 按钮,就会改变 “ 我是标题 ”!</p>
<input type="type" name="name" value="" id="name" />
<p></p>
<p><a class="btn btn-default" id="add-date">修改标题</a></p>
</div>
<div class="col-md-4">
<h2>添加学生</h2>
<form id="student-form">
<div class="form-group">
<label for="id">学生编号</label>
<input type="text" class="form-control" id="id" name="id" placeholder="学生编号">
</div>
<div class="form-group">
<label for="name">学生姓名</label>
<input type="text" class="form-control" id="name" name="name" placeholder="学生姓名">
</div>
<div class="form-group">
<label for="age">学生年龄</label>
<input type="text" class="form-control" id="age" name="age" placeholder="学生年龄">
</div>
<button type="submit" class="btn btn-default">提交数据</button>
<p id="show"></p>
</form>
</div>
</div>
<div class="row">
<h3 style="width:100%;border-bottom:1px solid #eee;text-align:center;height:40px;line-height:1.5px;">Ajax 跨越访问</h3>
<div class="col-md-4"> <h2>跨域问题</h2>
<a href="https://www.cnblogs.com/sunxucool/p/3433992.html" target="_blank">(点击链接)跨域问题详解 </a>
<pre style="width:600px;height:300px;display:block;">
$(document).ready(function(){
var url='http://localhost:8080/WorkGroupManagment/open/getGroupById"
+"?id=1&callback=?';
$.ajax({
url:url,
dataType:'jsonp',
processData: false,
type:'get',
success:function(data){
alert(data.name);
},
error:function(XMLHttpRequest, textStatus, errorThrown) {
}});
});
</pre>
<p>跨域的话,需要添加 dataType:'jsonp'</p>
</div> </div> @section scripts
{
<script type="text/javascript">
$(function () { //获取数据
$("#learnmore").on('click', function () {
$.ajax({
url: 'http://localhost:55851/Home/GetStudent',
success: function (data) {
data = JSON.parse(data);
var text = "<tr><th>编号</th><th>姓名</th><th>年龄</th></tr>";
for (var it in data) {
text += '<tr><td>' + data[it].Id + '</td><td>' + data[it].Name + '</td><td>' + data[it].Age + '</td></tr>'
}
$("#table").html(text);
}
});
}); //修改标题
$("#add-date").on('click', function () {
var model = $("#name").val();
$.ajax({
url: 'http://localhost:55851/Home/SetName',
data: { 'name': model },//数据
success: function (data) {
$("#title").html(data);
}
});
}); //提交表单
$("#student-form").submit(function () {
var data = $("#student-form").serialize();
$.ajax({
url: "http://localhost:55851/Home/SetStudent",
data: data,
success: function (data) {
$("#show").html(data);
}
});
return false;
}); }); </script>
}

界面效果:

界面请求数据后效果:

简单自我小结,走过的路。

AJAX 入门教程的更多相关文章

  1. 系列文章--ASP.NET之AJAX入门教程

    ASP.NET AJAX入门系列将会写关于ASP.NET AJAX一些控件的使用方法以及基础知识,其中部分文章为原创,也有一些文章是直接翻译自官方文档,本部分内容会不断更新. 目录 ASP.NET A ...

  2. Ajax学习教程在线阅读

      1.什么是AJAX ?(1) 2.什么是AJAX ?(2) 3.什么是AJAX ?(3) 4.什么是AJAX ?(4) 5.Ajax基础教程(1)-Ajax简介 1.1 Web应用简史 6.Aja ...

  3. 无废话ExtJs 入门教程二十[数据交互:AJAX]

    无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...

  4. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]

    WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...

  5. mui初级入门教程(三)— html5+ XMLHttpRequest 与mui ajax用法详解

    文章来源:小青年原创发布时间:2016-05-29关键词:mui,html5+,XMLHttpRequest,ajax,懒加载转载需标注本文原始地址: http://zhaomenghuan.gith ...

  6. ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  7. SharePoint 2013 入门教程

    以下文章是自己在学习SharePoint的过程中,不断积累和总结的博文,现在总结一个目录,分享给大家.这个博客也是自己从SharePoint入门,到一个SharePoint开发的成长记录,里面记录的都 ...

  8. React JS快速入门教程

    翻译至官方文档<Tutorial>http://facebook.github.io/react/docs/tutorial.html 转载请注明出处:http://blog.csdn.n ...

  9. 【特别推荐】Node.js 入门教程和学习资源汇总

    这篇文章与大家分享一批很有用的 Node.js 入门教程和学习资源.Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...

随机推荐

  1. Django框架ORM单表添加表记录_模型层

    此方法依赖的表时之前创建的过的一张表 参考链接:https://www.cnblogs.com/apollo1616/p/9840354.html 方法1: # 语法 [变量] = [表名].obje ...

  2. Windows 安装nginx

    http://nginx.org/en/docs/windows.html 在nginx.exe目录,打开命令行工具,用命令 启动/关闭/重启nginx    start nginx : 启动ngin ...

  3. spring 配置bean-自己主动装配

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qilixiang012/article/details/28260477 概要:(蓝色为本节所讲) ...

  4. Qt & MySQL

    Qt中如何进行MySQL连接与操作步骤: 1.向工程中的.pro文件增加QT += sql; 2.写一个通用的数据库连接类(Connect),一个static方法(CreateConnection), ...

  5. 7-3 堆栈模拟队列(25 point(s)) 【数据结构】

    7-3 堆栈模拟队列(25 point(s)) 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q. 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数: int IsFull(Stac ...

  6. appium-andriod自动化实现注意项

    注意项: 1.appium需要全局安装,否则run test case 报错“appium not installed” 2.启动appium命令 node /Applications/Appium. ...

  7. ManualResetEvent使用

    1.定义 MSDN定义: 通知一个或多个正在等待的线程已发生事件.此类不能被继承. 详细说明: ManualResetEvent 允许线程通过发信号互相通信.通常,此通信涉及一个线程在其他线程进行之前 ...

  8. POJ2104 K-th Number (子区间内第k大的数字)【划分树算法模板应用】

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 40920   Accepted: 13367 Ca ...

  9. 使用pip安装第三方库报错记录

    今天在使用pycharm导入第三方库的时候,报了好多超时错误,还有标题中的找不到版本,应该是网络的原因,记录下解决的办法: raise ReadTimeoutError(self._pool, Non ...

  10. nginx日志分析命令记录

    这是要注意的 可能因为 线上 nginx日志输出格式的不一样,一下命令未能展示正确的结果 流量速率分析的第三个命令 慢查询分析的第一二个命令 参考文档,nginx日志输出格式为 $remote_add ...