jQuery.ajax

(摘录)http://www.cnblogs.com/XuebinDing/archive/2012/03/01/2376041.html

情况一、使用WebService验证

 

1.新建demo.aspx页面。
2.首先在该页面的后台文件demos.aspx.cs中添加引用。

 

using System.Web.Services;

 

3.无参数的方法调用.

 

大家注意了,这个版本不能低于.net framework 2.0。2.0已下不支持的。
后台代码:

 

[WebMethod]     
public static string SayHello()
{
return "Hello Ajax!";
}

    var arr = param.split(',');
        var p0 = arr[0];
        var id1 = parseInt(arr[1]);
        var ope2 = parseInt(arr[2]);
        if (ope2 == 3) {
            $.messager.confirm('提示信息', '是否删除?', function (r) {
                if (r) {
                    $.ajax({
                        type: 'post',
                        url: 'ModifyRdrecord',
                        data: { p: p0, id: id1, ope: ope2 },
                        dataType: 'json',
                        cache: false,
                        global: false,
                        success: function (data) {
                            if (data.result > 0) {
                                $.messager.alert('提示信息', '删除成功!', 'info', function () {
                                    $("#" + p0 + "dataGrid").datagrid('reload');
                                });
                            } else {
                                $.messager.alert('提示信息', '删除失败!', 'error');
                            }
                        }
                    });
                }
            });

JS代码:

 

复制代码
$(function() {     
$("#btnOK").click(function() {
$.ajax({
//要用post方式
type: "Post",
//方法所在页面和方法名
url: "Demo.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;
});
});
复制代码

 

页面代码:

 

    <form id="form1" runat="server">
<div>
<asp:Button ID="btnOK" runat="server" Text="验证用户" />
</div>
</form>

 

运行效果如下: 

 

 

3.有参数方法调用
后台代码:

 

[WebMethod]     
public static string GetStr(string str, string str2)
{
return str + str2;
}

 

JS代码:

 

复制代码
$(function() {     
$("#btnOK").click(function() {
$.ajax({
type: "Post",
url: "demo.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;
});
});
复制代码

 

运行效果如下:

 

 

4.返回数组方法
后台代码:

 

复制代码
[WebMethod]     
public static List<string> GetArray()
{
List<string> li = new List<string>();

for (int i = 0; i < 10; i++)
li.Add(i + "");

return li;
}
复制代码

 

JS代码:

 

复制代码
$(function() {     
$("#btnOK").click(function() {
$.ajax({
type: "Post",
url: "demo.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;
});
});
复制代码

 

页面代码:

 

<form id="form1" runat="server">
<div>
    <asp:Button ID="btnOK" runat="server" Text="验证用户" />
</div>
<ul id="list">
</ul>
</form>

 

运行结果图:

 

 

(摘录):http://www.cnblogs.com/lmfeng/archive/2012/03/20/2407412.html

情况二、cs后台验证

一:jQuery.ajax语法基础

jQuery.ajax([options])
概述:通过 HTTP 请求加载远程数据。

jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。使用这个方法可以获得更多的灵活性。
数据类型
$.ajax() 函数依赖服务器提供的信息来处理返回的数据。通过dataType选项还可以指定其他不同数据处理方式。其中,text和xml类型返回的数据不会经过处 理。如果指定为html类型,任何内嵌的JavaScript都会在HTML作为一个字符串返回之前执行。如果指定为json类型,则会把获取到的数据作 为一个JavaScript对象来解析,并且把构建好的对象作为结果返回。发送数据到服务器,默认情况下,Ajax请求使用GET方法。如果要使用 POST方法,可以设定type参数值。这个选项也会影响data选项中的内容如何发送到服务器。
使用场景一:
描述:保存数据到服务器,成功时显示信息。jQuery 代码:
$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
});
使用场景二:
描述:装入一个 HTML 网页最新版本。jQuery 代码:
$.ajax({
  url: "test.html",
  cache: false,
  success: function(html){
    $("#results").append(html);
  }
});

load(url, [data], [callback])
概述:载入远程 HTML 文件代码并插入至 DOM 中。
默认使用 GET 方式 - 传递附加参数时自动转换为 POST 方式。
使用场景一:
描述:加载 feeds.html 文件内容。jQuery 代码:
$("#feeds").load("feeds.html");

jQuery.get(url, [data], [callback], [type])和jQuery.post(url, [data], [callback], [type])

概述:通过远程 HTTP GET或POST  请求载入信息。
这是一个简单的 GET或POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
描述:显示 test.aspx 返回值(HTML 或 XML,取决于返回值),添加一组请求参数。jQuery 代码:
$.get("test.aspx", { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
});
$.post("test.aspx", { name: "John", time: "2pm" },
  function(data){
    alert("Data Loaded: " + data);
});

上面是基本的语法,我们只是先做一个了解,要是你已经熟悉,那么我们将开始一步一步对上面的方法和使用场景进行具体讨论。

二:jQuery.ajax伴随ASP.NET的实战练习

首先创建Default.aspx页面,作为请求发起页面,并会获得返回值。页面的代码Default.aspx是:

复制代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="JqueryAjax2._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script src="js\jquery-1.6.2.min.js" type="text/javascript"></script>
 <script type="text/javascript">
        $(document).ready(function () {
            $("#showinfo").click(function () {
                var data = { key1: "小王01", key2: "小明" };
                //1、response.aspx页面 接收数据
                $.ajax({
                    type: "post",
                    url: "response.aspx",
                    data: data,
                    dataType: "text",
                    success: function (msg) {
                        $("#ajax").append(msg);
                    }
                });

                //2、test.htm静态页面 接收数据
                $.ajax({
                    type: "get",  //get默认 可以省略
                    url: "test.htm",
                    success: function (msg) {
                        $("#resulthtml").append(msg);
                    }
                });

                //load()方法通过 AJAX 请求从服务器加载数据,并把返回的数据放置到指定的元素中。
                //$("#load").load("test.htm");
                //$("#load").load("TextJson.txt");

                $.get("response.aspx", data, success1, "text");
                function success1(msg) {
                    $("#get").append(msg);
                }
                $.post("response.aspx", data, success2, "text");
                function success2(message) {
                    $("#post").append(message);
                }

                $.get("TextJson.txt", success3, "json");
                function success3(msg) {
                    var result = "<li>334一号床:" + msg.key1 + "</li>";
                    result += "<li>334二号床:" + msg.key2 + "</li>";
                    result += "<li>334三号床: " + msg.key3 + "</li>";
                    result += "<li>334四号床: " + msg.key4 + "</li>";
                    $("#result").html(result);
                }
            });
        });
    </script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>
<body>
<input type="button" id="showinfo" value="show info"></input> 
     <ul id="ajax">ajax:</ul>
     <ul id="resulthtml">resulthtml:</ul>
     <ul id="load">load:</ul>     
     <ul id="get">get:</ul>
     <ul id="post">post:</ul>
     <ul id="result"></ul>
     
</body>
</html>
复制代码

Default.aspx.cs里面有没写任何代码,默认即可。
请求的接受者这里面有三种角色:response.aspx页面、test.htm静态页面和TextJson.txt。

response.aspx页面:主要是在服务器端获得客户端提交的数据,并返回数据给客户端。
test.htm静态页面:主要是给客户端局部装入一个HTML网页最新版本。
TextJson.txt:是作为数据储存在文件中,让客户端来异步访问的。

response.aspx页面代码,response.aspx是:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="response.aspx.cs" Inherits="JqueryAjax2.response" %>

没有任何html代码,因为主要是在服务器端获得客户端提交的数据,并返回数据给客户端,不需要显示html内容,所以可以不含html标记。
response.aspx.cs页面代码:

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;

namespace JqueryAjax2
{
    public partial class response : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string str = Request["key1"];
            Response.Write("success" + str);
        }
    }
}
复制代码

在代码中可以看到服务器端获得客户端提交的数据,并返回数据给客户端的方式。

test.htm静态页面的代码是:

复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title></title>
</head>
<body>
test.html
</body>
</html>
复制代码

当静态页面被请求后,会作为html的格式返回客户端,使用 $("#resulthtml").append(html);这样的方法来显示test.htm静态页面的内容。

TextJson.txt里面保存着一段文本,是json格式的:

{   "key1": "刘明丰",   "key2": "林望",   "key3": "陈文杰",   "key4": "耿殿佳" }

在被访问后返回的是json格式的数据,在客户端获得json后会自动转换成对象。

好了,jQuery的异步使用场景基本满足我们的需求,自己试试看吧。

转载于:https://www.cnblogs.com/wangcq/p/3482726.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Keras的卷积神经网络用于猫狗分类(未进行数据增强)+卷积层可视化

首先看数据集路径&#xff1a; cats和dogs存放的就是各种大小的猫狗图片。 读取数据集代码&#xff1a; import os import matplotlib.pyplot as plt """ 读取数据 返回数据的文件夹名字&#xff0c;和具体的猫狗的路径 """ def read_data(): …

芯片植入:“增强人类”的生物黑科技

来源&#xff1a;资本实验室摘要&#xff1a;当医疗、电子、生物科技快速发展&#xff0c;并紧密融合的时候&#xff0c;许多科幻电影中的场景正在不断变为现实&#xff0c;而“增强人类”、”赛博格“、“电子人”、“生化人”正在成为这个时代最值得期待&#xff0c;又多少让…

如何通过VC的 CHttpFile 抓取网页内容

在点击一个按钮时开始请求你输入的地址。void CHttpFileDlg::OnButton1() {   CString url;   GetDlgItemText(IDC_EDIT1,url); // IDC_EDIT1 是一个输入框的名字。   char* headers"Accept:*/*\r\nAccept-Language:zh-cn\r\nUser-Agent:VCTestClient\r\n"; …

windows安装ubuntu16.04LTS 更换系统源为阿里源 安装ubuntu找不到windows 删除内核 更换pip源 升级pip源报错 ubuntu命令

一&#xff0c;安装ubuntu ubuntu镜像Index of /ubuntu-releases/18.04/ 首先在windows下硬盘划分出100G的空间&#xff0c;并且制作一个ubuntu的启动盘。在windows安装easy BCD用于开机启动ubuntu。下面看安装过程&#xff1a; 选择语言&#xff0c;我选择是英语 我选择的是…

基本系统部署完成!北斗三号闪耀中国智慧

▲ 第四十二、四十三颗北斗导航卫星乘长三乙火箭升空来源&#xff1a;航天501部2018年11月19日&#xff0c;第四十二、四十三颗北斗导航卫星在西昌卫星发射中心腾空而起。作为北斗三号第十八颗、第十九颗卫星&#xff0c;此次双星的成功发射&#xff0c;标志着北斗三号全球组网…

基于Keras的卷积神经网络用于猫狗分类(进行了数据增强)+卷积层可视化

接着我上一篇博客&#xff0c;https://blog.csdn.net/fanzonghao/article/details/81149153。 在上一篇基础上对数据集进行数据增强。函数如下&#xff1a; """ 查看图像增强是否发生作用 """ def see_pic_aug():train_datagen ImageDataGene…

深圳神经科学研究院院长谭力海: AI取代人脑? 不, 必须向人脑“学习”!

来源&#xff1a;读创科技摘要&#xff1a;从“深蓝”到“阿尔法狗”&#xff0c;人工智能技术日益成熟&#xff0c;“AI何时替代人脑”的争论也在不断升级。人工智能真的能超越人脑吗&#xff1f;11月15日在高交会“颠覆性创新技术”主题论坛上&#xff0c;深圳神经科学研究院…

好的PPT——准备工作

首先介绍PPT的一些基本技巧。 在选项界面&#xff0c;我们需要调整一些选项&#xff1a;控制最大可回退次数&#xff1b;语法自动检查&#xff1b;字体嵌入PPT&#xff0c;调整自动保存的时间间隔。 对于一些常用操作&#xff0c;可以右键添加到常用工具栏。 可以很方便地调整不…

ubuntu安装谷歌浏览器 typora+出现编码错误‘ascii‘ codec can‘t encode character ‘\u6b66‘+docker里安装tensorrt报错

一.首先下载谷歌浏览器 https://www.google.cn/chrome/ sudo dpkg -i google-chrome-stable_current_amd64.deb 就安装好了&#xff0c;search谷歌浏览器就可以啦。 二,安装typora # optional, but recommendedsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-ke…

中国安防为何世界最强?中科院AI+安防报告,解密8大趋势和8大限制【附下载】| 智东西内参...

来源&#xff1a;智东西传统的安防企业、新兴的 AI 初创企业&#xff0c;开始积极从技术各个维度拥抱人工智能&#xff0c;在模式识别基础理论、图像处理、计算机视觉以及语音信息处理展开了集中研究与持续创新&#xff0c;探索模式识别机理以及有效计算方法&#xff0c;为解决…

利用Inception-V3训练的权重微调,实现猫狗分类(基于keras)

利用Inception-V3训练的权重微调实现猫狗的分类&#xff0c;其中权重的下载在我的博客下载资源处&#xff0c;https://download.csdn.net/download/fanzonghao/10566634 第一种权重不改变直接用mixed7层&#xff08;mixed7呆会把打印结果一放就知道了&#xff09;进行特征提取…

刘锋:互联网左右大脑结构与钱学森开放复杂巨系统

作者&#xff1a;刘锋 互联网进化论作者 计算机博士前言&#xff1a;1990年&#xff0c;钱学森提出了开放的复杂巨系统理论&#xff0c;并提出以人为主&#xff0c;人机结合&#xff0c;从定性到定量的综合集成研究方法&#xff0c;他也预见性的提出“因特网正好生动地体现了…

手写字母数据集转换为.pickle文件

首先是数据集&#xff0c;我上传了相关的资源&#xff0c;https://download.csdn.net/download/fanzonghao/10566701 转换代码如下&#xff1a; import numpy as np import os import matplotlib.pyplot as plt import matplotlib.image as mpig import imageio import pickle…

一文看懂谷歌的AI芯片布局,边缘端TPU将大发神威

来源&#xff1a;新电子2018年7月Google在其云端服务年会Google Cloud Next上正式发表其边缘(Edge)技术&#xff0c;与另两家国际公有云服务大厂Amazon/AWS、Microsoft Azure相比&#xff0c;Google对于边缘技术已属较晚表态、较晚布局者&#xff0c;但其技术主张却与前两业者有…

opencv图像处理中的一些滤波器+利用滤波器提取条形码(解析二维码)+公交卡倾斜矫正+物体尺寸丈量

一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像中的细节信息也主要集中在其高频部分,因此,如何去掉高频干扰同时又保持细节信息是关键。为了去除噪声,有必要对图像进行平滑,可以采用低通滤波的方法去除高频干扰。图像平滑包括空域法和频域法两大…

智联汽车:复盘国内巨头布局

来源&#xff1a;申万宏源摘要&#xff1a;从今年阿里9月云栖大会、华为10月全联接大会、百度11月世界大会、腾讯11月合作伙伴大会可以发现BATH均高调展示了各自在汽车科技领域的研发成果;而京东、滴滴两家公司近两年来关于汽车科技领域的动态亦在频频更新。▌车联网:车载OS竞争…

Tomcat基础教程(一)

Tomcat, 是Servlet和JSP容器&#xff0c;其是实现了JSP规范的servlet容器。它在servlet生命周期内包容&#xff0c;装载&#xff0c;运行&#xff0c;和停止servlet容器。 Servlet容器的三种工作模式&#xff1a; 1. 独立的Servlet容器 Servlet容器与基于JAVA技术的Web服务器集…

opencv--图像金字塔

一&#xff0c;高斯金字塔--图片经过高斯下采样 """ 高斯金字塔 """ def gauss_pyramid():img cv2.imread(./data/img4.png)lower_reso cv2.pyrDown(img)lower_reso2 cv2.pyrDown(lower_reso)plt.subplot(131), plt.imshow(img)plt.title(In…

中国移动:5G蜂窝IoT关键技术分析

来源&#xff1a;5G本文讨论了蜂窝物联网的技术现状&#xff0c;针对增强机器类通信和窄带物联网技术标准&#xff0c;提出了2种现网快速部署方案&#xff0c;并进一步指出了C-IoT面向5G的演进路径。该路径充分考虑了5G网络中网络功能虚拟化、软件定义网络、移动边缘计算和大数…

清华大学发布:人脸识别最全知识图谱

来源&#xff1a;智东西摘要&#xff1a;本期我们推荐来自清华大学副教授唐杰领导的学者大数据挖掘项目Aminer的研究报告&#xff0c;讲解人脸识别技术及其应用领域&#xff0c;介绍人脸识别领域的国内玩人才并预测该技术的发展趋势。自20世纪下半叶&#xff0c;计算机视觉技术…