ajax post  data  获取不到数据,注意 content-type的设置 、post/get

关于 jQuery data 传递数据。网上各种获取不到数据,乱码之类的。

好吧今天我也遇到了,网上一查各种纠结。乱码不管先看获取不到数据。

因为之前一直用jQuery ajax get的方式传递参数, 默认没有设置过 contentType 的值。

   1:      var Skip = 49; //Number of skipped row

   2:      var Take = 14; //
   3:      function Load(Skip, Take) {
   4:          $('#divPostsLoader').html('<img src="ProgressBar/ajax-loader.gif">');
   5:          //send a query to server side to present new content
   6:          $.ajax({
   7:              type: "get",
   8:              url: "AjaxImage.ashx",
   9:              data: { Skip: Skip, Take: Take },
  10:              //contentType: "application/json; charset=utf-8",//(可以)
  11:              //contentType: "text/xml",//(可以)
  12:              //contentType:"application/x-www-form-urlencoded",//(可以)
  13:              //dataType: "string",
  14:              success: function (data) {
  15:                  if (data != "") {
  16:                      $('.thumb').append(data);
  17:                  }
  18:                  $('#divPostsLoader').empty();
  19:              }
  20:          })
  21:      };

chrome下,没有设置contentType的值,好,我们来看默认情况:

默认参数通过url参数传递,请求的内容类型:application/x-www-form-urlencoded

一般处理文件获取参数内容:

   1:  

int Skip = Convert.ToInt32(context.Request["Skip"]); 2: int Take = Convert.ToInt32(context.Request["Take"]);

毫无压力,因为我一直都是这么干的,没有任何问题。好了,来换一下请求的内容类型:

1: //contentType: "application/json; charset=utf-8",//(可以) 2: //contentType: "text/xml",//(可以)

 
也都可以,参数获取正常。

这也就是我们说的get方式,参数是跟在url后边,与Content-Type无关。

 
可是今天要用post方式了有木有。

1: $.ajax({ 2: type: "post",

chrome下,没有设置contentType的值,来看默认情况:

data数据由form表单提交,请求的内容类型:application/x-www-form-urlencoded,

好了,默认情况下一般处理文件获取参数也可以。

可是,但是 我最开始设置的是 contentType: "application/json; charset=utf-8",看图:

Request Paload 是什么???

调试一下,看我们的from里边,没有内容:

好吧, 到这里我们解决了.

经测试:

   1:              //contentType: "application/json; charset=utf-8",//(不可以)
   2:              //contentType: "text/xml",//(不可以)
   3:              contentType:"application/x-www-form-urlencoded",//(可以)
 
总结一下吧:本来get/post方式都是知道的,但注意,contentType与传递数据匹配(本文data)。
这个 contentType 的指定 是指 post 的body 类型。 一个是json 格式,一个是 urlencode 的 key value . 做过模拟登录、模拟提交数据的同学肯定都很清楚了。

ajax post data 获取不到数据,注意 content-type的设置 、post/get(转)的更多相关文章

  1. ajax post data 获取不到数据,注意 content-type的设置

    ajax post  data  获取不到数据,注意 content-type的设置 .post/get关于 jQuery data 传递数据.网上各种获取不到数据,乱码之类的.好吧今天我也遇到了,网 ...

  2. ajax post data 获取不到数据,注意 content-type的设置 、post/get

    ajax post  data  获取不到数据,注意 content-type的设置 .post/get 关于 jQuery data 传递数据.网上各种获取不到数据,乱码之类的. 好吧今天我也遇到了 ...

  3. contentType设置类型导致ajax post data 获取不到数据

    ajax post  data  获取不到数据,注意 content-type的设置 .post/get关于 jQuery data 传递数据.网上各种获取不到数据,乱码之类的. 好吧今天我也遇到了, ...

  4. ajax post data 获取不到数据

    ajax post  data  获取不到数据,注意 content-type的设置 .post/get关于 jQuery data 传递数据.网上各种获取不到数据,乱码之类的.好吧今天我也遇到了,网 ...

  5. ajax post data 获取不到数据,注意content-type的设置post/get

    因为之前一直用jQuery ajax get的方式传递参数, 默认没有设置过 contentType 的值. $.ajax({ url: "/yuanjin/jianxiang", ...

  6. ajax post data 获取不到数据,注意contentType

    $.ajax({ url:'/web/register/', type:"POST", data:{'user':'66'}, dataType:'json', 这个东西困惑我一天 ...

  7. $.when()方法监控ajax请求获取到的数据与普通ajax请求回调获取到的数据的不同

    1.$.when(ajax).done(function(data)}); 2.$.ajax().done(function(data){}); 1中的data被封装进一个对象[data, " ...

  8. .NET获取文件的MIME类型(Content Type)

    第一种:这种获取MIME类型(Content Type)的方法需要在.NET 4.5之后才能够支持,但是非常简单. 优点:方便快捷 缺点:只能在.NET 4.5之后使用 public FileResu ...

  9. ajax从新浪获取实时股票数据

    最近在给公司做一个报表展示,然后领导要求上面加上一些股票的实时数据展示. 一开始同事给我一个聚合数据的网址,说从这上面可以获取到.我一看,哟呵,API接口什么的都提供好了,确实方便.然后想用的时候才发 ...

随机推荐

  1. C# vb .net实现宝丽来效果滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的宝丽来效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一 ...

  2. C# vb .net实现真实阴影特效滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的真实阴影效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...

  3. 在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序

    Quartz定时机制 首先导入jar包到程序内 quartz-all-1.6.0.jar 然后创建一个XML TimeConfig.xml 名字可以自己定义 <?xml version=&quo ...

  4. Java 之 ServletContext 对象

    ServletContext 对象 一.概念 ServletContext对象:代表整个 web 应用,可以和程序的容器(服务器)来通信. 二.获取 1.通过request 获取 方法: reques ...

  5. jsonpath 一个简单实用的工具

    import jsonpath import json data = "{\"a\": \"11\", \"c\": {\&quo ...

  6. JENKINS安卓打包CI

    jenkins构建脚本: [root@localhost tomcat]# cat move.sh #!/bin/bash # author lql release_dir=/data/android ...

  7. 解决window tomcat 8.5 启动控制台输出为乱码

    解决办法 1.打开你安装Tomcat的所在目录. 2. 打开后选择conf目录. . 3. 将里面的logging.properties文件用编辑器打开,本例子是使用“Notepad++”编辑器打开. ...

  8. MySQL Replication--复制基本工作原理

    复制工作原理(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events):(2) slave将master的binary lo ...

  9. MySQL DataType--浮点数(Floating-Point Types)学习

    浮点数(Floating-Point Types) MySQL支持两种浮点数类型来表示近似值:1.FLOAT,单精度浮点数,使用4字节存储,存储数据范围3.402823466E+38 - -1.175 ...

  10. Linux命令——parted

    参考:8 Linux ‘Parted’ Commands to Create, Resize and Rescue Disk Partitions 简介 parted是磁盘分区操作工具,支持多种磁盘分 ...