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. DIV中的文字垂直并且水平居中的CSS

    .MsgPopup { height: 100px; line-height: 100px; text-align: center;}

  2. 科普帖:Linux操作系统

    使用计算机必然会接触操作系统,现代操作系统已经发展的十分成熟,一般用户都可以很轻松的使用计算机.然而,对于要利用计算机进行专业开发和应用的用户来说,需要更加深入地理解操作系统的原理和运行机制,这样才能 ...

  3. kali之DVWA

    简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境, ...

  4. Mac版StarUML破解方法

    StarUML是用nodejs写的.确切的说是用Electron前端框架写的.新版本中所有的starUML源代码是通过asar工具打包而成.确切的代码位置在“%LOCALAPPDATA%\Progra ...

  5. day 05 预科

    目录 文本处理 什么是文件 什么是文本 视频/音频文件(多媒体文件) 我们如何通过文本编辑器去控制txt文件 文本高级 文本处理+高级分析 文本处理 什么是文件 文件是操作系统提供的一个特殊概念,拿来 ...

  6. githe和github连接,上传

    Git入门 如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),可知我们此时应该有两个仓库,就是两个放代码的地方,一 ...

  7. 03-JavaScript语法介绍

    本篇主要关于原生JavaScript的介绍,其中包括其嵌入HTML页面方式,JavaScript的语法结构,以及贪吃蛇案例: 一.绪论 JavaScript是运行在浏览器端的脚步语言,JavaScri ...

  8. Linux_安装maven

    安装maven 1.首先要已经安装JDK 2.下载安装包,可以安装包下: 下载地址:https://mirrors.cnnic.cn/apache/maven/ wget https://mirror ...

  9. http,socket,进程通信,网络通信(1)

    众所周知,网络通信本质上就是进程间通信,进程间通信有以下常见的通信方式: 1,管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,进程的亲缘关系通常指父子进 ...

  10. Linux命令——whiptail交互式shell脚本对话框

    转自:交互式shell脚本对话框----whiptail指令 当你在linux环境下setup软件的时候就会有相应的对话框让你输入.虽然我们已经习惯了这种交互的方法,但是如果有一种直观的界面来输入是不 ...