jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等。

首先说一下jquery中ajax标准的格式.

    $.ajax({
url: "/CommonService.asmx/SayHello",//ajax请求地址
type: "Post",//请求方式 分为get和post
dataType: "json", //要求请求返回数据类型 可分为json html text xml 等
contentType: "application/json; charset=utf-8", //发送服务器数据的编码方式
data: "{name:'Varchar32'}",//传送的数据
success: function (data) {//执行成功
var result= data.responseText;
alert(result.XXX);
},
error: function (data) {//执行失败
//200的响应也有可能被认定为error,responseText中没有Message部分
alert($.parseJSON(data.responseText).Message);
},
complete: function (data) { //不管成功还是失败后
;//after success or error
}
}); 下面是几种格式的例

1.html格式的数据

"<div class='comment'><h6> "+username+" :</h6><p class='para'> "+content+" </p></div>"

服务器端返回数据格式是html片段,因此不需要经过处理就可以将新的html数据插入到主页面中,这种方法虽然简便,但是重用性不强。

$.ajax({

type:"POST",

url:"Handler.ashx",

dataType:html,

data:{username:$("#name").val(),password:$("#pwd").val()},

success:function(data){

$("#result").html(data);

}

}

2.XML格式的数据

Response.Write("<?xml version=""1.0"" encoding=""utf-8""?>")
Response.Write("<comments>")
Response.Write("<comment
username='"+username+"'>")
Response.Write("<content>"+content+"</content>")

Response.Write("</comment>")
Response.Write("</comments>")

Response.End();

由于服务器端返回的数据格式是XML文档,因此需要对文档的数据进行处理。

$.ajax({

type:"POST",

url:"Handler.ashx",

dataType:xml,

data:{username:$("#name").val(),password:$("#pwd").val()},

success:function(data){

var username =
$(data).find("comment").attr("username");
     var
content = $(data).find("comment
content").text();
     var
txtHtml = "<div
class='comment'><h6>"+     
username+":</h6><p class='para'>"+content+"</p></div>";

$("#result").html(txtHtml)

}

}

3.JSON格式的数据

Response.Write("{ username : '"+username+"' , content :
'"+content+"'}")

由于服务器端返回的数据格式是JSON文档,因此也需要对文档的数据进行处理,但是JSON文档比较XML文档更容易解析。

$.ajax({

type:"POST",

url:"Handler.ashx",

dataType:json,

data:{username:$("#name").val(),password:$("#pwd").val()},

success:function(data){

可以加上.....

var username =
data.username;
     var
content =
data.content;
     var
txtHtml = "<div
class='comment'><h6>"+     
username+":</h6><p class='para'>"+content+"</p></div>";

$("#result").html(txtHtml)

}

}

egg:实验

    <script type="text/javascript">
        $(function () {
            $.ajax({
                type: "post",
                url: "abc.aspx",
                data: "{}",
                contentType: "text/plain; charset=utf-8",
                dataType: "text",
                success: function (data) {
                    alert(data);
                },
                error: function (msg) {
                    alert(msg);
                }
            });
        });
    </script> 然后在aspx对应的页面.
 Response.Write("dongya");
        Response.End(); 然后运行就会执行.dongya那个弹框.
下面是四个例子  实验过
<script type="text/javascript">
$(function () {
$.ajax({
type: "post", //以post方式传递
url: "a.ashx", //请求地址
// data: {}, //传递参数 这里不进行传递
// contentType: "text/plain; charset=utf-8",
dataType: "json", //数据类型
success: function (data) {
alert(data.a); //返回的是json对象,可以直接进行操作读取
},
error: function (msg) {
alert(1);
}
});//对应第一个一般处理程序 $(function () {
$.post('b.ashx', function (data, status) {
if (status == 'success') {//当执行成功
alert(data.a);
}
else { alert("shibai"); } }, 'json');//对应第二个一般处理程序
}); $(function () {
$.ajax(
{
url: "c.ashx",
type: "post",
dateType: "text",
success: function (data) {
alert(data); //先看看返回的类型是不是json字符串
// var i = eval("(" + data + ")");//把json字符串转换为json对象
var i = JSON.parse(data); //把json字符串转换为json对象
alert(i);//json对象是object类型
alert(i.a);
},
error: function () { }
}
); }); //对应第三个一般处理程序 $(function () {
$.ajax(
{
url: "d.ashx",
type: "post",
dateType: "text",
success: function (data) {
alert(data);//返回字符串类型
},
error: function () { }
});
});//对应第四个一般处理程序
</script> 第一个一般处理程序 对应第一个js
<%@ WebHandler Language="C#" Class="a" %> using System;
using System.Web;
using System.Runtime.Serialization;
public class a : IHttpHandler { public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "json";
string json = "{\"a\":\"123\"}"; // \"雙引號 轉義符 通過轉義符這樣就變成了合格的ojson字符串
//string str = "{name:cxh,sex:man}";//這樣是平常罛的字符串
//var str1 = {"name":"cxh","sex":"man" };//這樣是正規的ojson對象
//var str2='{"name":"cxh","sex":"man"}';// 這樣是正規的ojson字符串
context.Response.Write(json.ToString());
} public bool IsReusable {
get {
return false;
}
} }
東亞 09:31:16 第二个一般处理程序 对应第二个js
<%@ WebHandler Language="C#" Class="b" %> using System;
using System.Web; public class b : IHttpHandler { public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "json"; string json = "{\"a\":\"123\"}";
context.Response.Write(json.ToString());
} public bool IsReusable {
get {
return false;
}
} }
東亞 09:31:23 第三个一般处理程序 对应第三个js
<%@ WebHandler Language="C#" Class="c" %> using System;
using System.Web;
using System.Web.Script.Serialization;
using System.Runtime.Serialization.Json; public class c : IHttpHandler { public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string b = "{\"a\":\"123\"}";//這是合格的ojosn字符串
context.Response.Write(b.ToString());
} public bool IsReusable {
get {
return false;
}
} }
東亞 09:31:30 第四个一般处理程序 对应第四个js
<%@ WebHandler Language="C#" Class="d" %> using System;
using System.Web; public class d : IHttpHandler { public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
} public bool IsReusable {
get {
return false;
}
} }
												

ajax几种请求几种类型的更多相关文章

  1. Ajax跨域请求以及乱码解决

    Ajax跨域请求2种解决方法 1 ) 什么叫跨域请求,协议,域名,端口号,其中一样不同都称跨域; 第一种:使用script标签发送请求; //创建一个script标签; var v_element=d ...

  2. jQuery中的Ajax几种请求方式

    1. load( url, [data], [callback] ) :载入远程 HTML 文件代码并插入至 DOM 中. url (String) : 请求的HTML页的URL地址. data (M ...

  3. ASP.NET MVC 实现AJAX跨域请求的两种方法

    通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.NET MVC 框 ...

  4. Django学习——ajax发送其他请求、上传文件(ajax和form两种方式)、ajax上传json格式、 Django内置序列化(了解)、分页器的使用

    1 ajax发送其他请求 1 写在form表单 submit和button会触发提交 <form action=""> </form> 注释 2 使用inp ...

  5. Ajax中的get和post两种请求方式的异同

    Ajax中我们经常用到get和post请求.那么什么时候用get请求,什么时候用post方式请求呢? 在做回答前我们首先要了解get和post的区别.   1. get是把参数数据队列加到提交表单的A ...

  6. Ajax的get和post两种请求方式区别

    Ajax的get和post两种请求方式区别 (摘录):http://ip-10000.blog.sohu.com/114437748.html 解get和post的区别. 1. get是把参数数据队列 ...

  7. HTTP协议的8种请求类型介绍

    HTTP协议的8种请求类型介绍 转自:http://www.cnblogs.com/liangxiaofeng/p/5798607.html HTTP协议的8种请求类型介绍 HTTP协议中共定义了八种 ...

  8. 几种常用的ajax 跨域请求

      前 言 首先,我们要明白,什么是跨域,为什么要跨域. 由于JS中存在同源策略.当请求不同协议名不同端口号下面的文件时,将会违背同源策略,无法请求成功!需要进行跨域处理! 这篇文章就为大家详细介绍一 ...

  9. 解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式

    众所周知前端向后台发送 post 请求时,必须验证 csrf,否则会报错 403 Forbidden.使用 Django Form 表单可以直接在表单里面添加 {% csrf_token %} 即可, ...

随机推荐

  1. 集群搭建之Spark配置要点解析

    注意点: 安装Spark前先要配置好Scala运行环境. Spark和Scala需要在各个机器上配置. 环境变量配置 在~/.bashrc中添加如下的配置信息. #scala conf export ...

  2. 使用dom4j写xml文件——源码

    1 dom4j下载与配置 1.1 dom4j下载 请移步下载链接 1.2 maven依赖 <dependency> <groupId>org.dom4j</groupId ...

  3. MyBatis学习(一)---配置文件,Mapper接口和动态SQL

    MyBatis MyBatis官方学习网站 http://www.mybatis.org/mybatis-3/zh/index.html 为什么需要MyBatis? Jdbc操作数据库的不足之处 1. ...

  4. C#学习笔记-模板方法模式

    题目:同学摘抄老师给的试卷并给出自己的对应的答案. 实现: static void Main(string[] args) { Console.WriteLine("学生甲抄的试卷:&quo ...

  5. CSS(一)sytle

    一:CSS语法组成:  选择符 和声明(声明和声明之间用分号隔开)  声明部分:属性和属性值(用冒号链接)  语法:选择符{   属性1:属性值:   属性2:属性值:  } 所有的CSS语句都要放到 ...

  6. HTML网页随笔笔记

    文档设置标记   1.格式标记 1.<br> 强制换行标记 让后面的文字.图片.表格等等,显示在下一行 2.<p> 换段落标记 换段落,由于多个空格和回车在HTML中会被等效为 ...

  7. redux、immutablejs和mobx性能对比(三)

    四.我的结论 通过第三部分的数据数据分析,我觉得我们可以得到以下结论: 无论是在开发环境还是测试环下页面的首次加载速度结果都是:redux>immutablejs>mobx,但是他们之间的 ...

  8. redux、immutablejs和mobx性能对比(二)

    三.分析数据 1.前提说明 我对测试出的10个数据摘除最大值与最小值,然后求平均值 根据平均值我绘制了一个曲线图一个柱状图 曲线图用于查看1000-100000的性能趋势 柱状图用于比较在相同条数下r ...

  9. bootstrap学习笔记细化(表格)

    主要属性: 全屏宽度带水平线的表格 .table 带边框的表格 .table-bordered 条纹状表格 .table-striped 悬停变色表格 .table-hover 紧凑风格表格 .tab ...

  10. 推荐js库: underscore

    Underscore封装了常用的JavaScript对象操作方法,用于提高开发效率. 之间没用他之前,自己写,那是相当的酸爽. 如循环处理: for(var i=0;i<data.length; ...