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

ajax post  data  获取不到数据,注意 content-type的设置 、post/get
关于 jQuery data 传递数据。网上各种获取不到数据,乱码之类的。
好吧今天我也遇到了,网上一查各种纠结。乱码不管先看获取不到数据。
因为之前一直用jQuery ajax get的方式传递参数, 默认没有设置过 contentType 的值。

var Skip = 49; //Number of skipped row
     var Take = 14; //
     function Load(Skip, Take) {
          $(‘#divPostsLoader‘).html(‘<img src=http://www.update8.com/Web/Jquery/"ProgressBar/ajax-loader.gif">‘);
         //send a query to server side to present new content
         $.ajax({
              type: "get",
              url: "AjaxImage.ashx",
             data: { Skip: Skip, Take: Take },
              //contentType: "application/json; charset=utf-8",//(可以)
             //contentType: "text/xml",//(可以)
              //contentType:"application/x-www-form-urlencoded",//(可以)
             //dataType: "string",
              success: function (data) {
                  if (data != "") {
                     $(‘.thumb‘).append(data);
                  }
                 $(‘#divPostsLoader‘).empty();
              }
          })
     };

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

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

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

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

毫无压力,因为我一直都是这么干的大笑,没有任何问题。好了,来换一下请求的内容类型:
 //contentType: "application/json; charset=utf-8",//(可以) 2: //contentType: "text/xml",//(可以)

也都可以,参数获取正常。
这也就是我们说的get方式,参数是跟在url后边,与Content-Type无关。

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

$.ajax({ 2: type: "post",
chrome下,没有设置contentType的值,来看默认情况:

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

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

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

Request Paload 是什么???

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

好吧, 到这里我们解决了 博问里那个问题(http://q.cnblogs.com/q/11342/),

本来搜索到这个博问,甚是高兴的,但是,悬而未决有木有,小伙伴不厚道啊!捧腹大笑

经测试:

//contentType: "application/json; charset=utf-8",//(不可以)
              //contentType: "text/xml",//(不可以)
             contentType:"application/x-www-form-urlencoded",//(可以)

总结一下吧:本来get/post方式都是知道的,但注意,contentType与传递数据匹配(本文data)

时间: 2024-10-30 15:57:29

ajax post data 获取不到数据,注意 content-type的设置的相关文章

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

ajax post  data  获取不到数据,注意 content-type的设置 .post/get关于 jQuery data 传递数据.网上各种获取不到数据,乱码之类的. 好吧今天我也遇到了,网上一查各种纠结.乱码不管先看获取不到数据. 因为之前一直用jQuery ajax get的方式传递参数, 默认没有设置过 contentType 的值 总结:get方式   这也就是我们说的get方式,参数是跟在url后边,与Content-Type无关. 1 var Skip = 49; //N

ajax post data 获取不到数据

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 Lo

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

$.ajax({ url:'/web/register/', type:"POST", data:{'user':'66'}, dataType:'json', 这个东西困惑我一天了,原来contentType出了问题 这个没有用form标签的,用div的请求content-Type的格式为application/x-www-forms-urlencoded 接着我使出千年杀,呵呵~我把 $.ajax({ url:'/web/register/', type:"POST&qu

ajax无刷新获取php后台数据

1 $.ajax({ 2 url:"result.php", 3 //data:{"page":i}, 4 dataType:"json", 5 beforeSend:function(){ 6 $("#load").append("<div id='loading'><img src='loading.gif'></div>"); 7 }, 8 success:func

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

第一种:这种获取MIME类型(Content Type)的方法需要在.NET 4.5之后才能够支持,但是非常简单. 优点:方便快捷 缺点:只能在.NET 4.5之后使用 public FileResult down() { var file = Server.MapPath(@"\Download\fff.zip"); return File(file, MimeMapping.GetMimeMapping(file)); } 之后可以直接使用MimeMapping类的静态方法获取文件

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

最近在给公司做一个报表展示,然后领导要求上面加上一些股票的实时数据展示. 一开始同事给我一个聚合数据的网址,说从这上面可以获取到.我一看,哟呵,API接口什么的都提供好了,确实方便.然后想用的时候才发现,首先要注册,然后根据使用量还要开会员什么的,还有一些审核的过程,一下子就感觉好麻烦了! 后来有别的同事说新浪上也有实时的股票数据,也有接口.我查了下,正好合适. 上代码之前首先感谢下博客园一位前辈提供的经验,他的博客里对新浪股票数据接口做了个比较详细的说明. http://www.cnblogs

mui.ajax()和asp.net sql服务器数据交互【3】最终版

1.前端页面 <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a> <h1 class="mui-title">企业资质查询</h1> </header> <div class="mui-cont

ajax的data传递数组时,前台不报错,后台不进断点

ajax的data中传递数组数据时,需加traditional:true, //默认false 不添加会导致后台接收不到改参数,后台controller中的方法不会执行,前后台都没有报错 $.ajax({ type:'post', async:false, url:'/emergencyPlanDigital/addPointAssociation', data:{ superId:$('#pointId').val(), childrenIds:childrenIds }, dataType:

vue-resource获取不了数据,和ajax的区别,及vue-resource用法

前几天用vue-resource调用接口,用post方式给后端,发现后端php接受不到数据,这好奇怪,最后发现提交给后端的时候 需要加一个参数 就是:emulateJSON : true 这句话的意思是 将request body以application/x-www-form-urlencoded content type发送 上个小demo看下 _this.$http.post('/apiwx2/xqsj.php', { 'token' : _this.token, 'house' : _th