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 Load(Skip, Take) {
 4           $(‘#divPostsLoader‘).html(‘<img src=http://www.update8.com/Web/Jquery/"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

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

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-11-05 15:57:40

ajax post data 获取不到数据的相关文章

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 获取不到数据,注意 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

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

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:

ajax 跨域获取数据jsonp使用

昨天帮同事从其他服务器传过来的json数据进行处理,遇到该问题.开始我的思路是用ajax直接请求把数据弄出来就OK了,然而出错了.原因是我使用的ajax 返回类型为json,默认ajax阻止跨服获取数据的.结合其他博文,ajax的dataType使用jsonp来解决此问题.开始觉得jsonp与json的使用类似,一步步的写着代码,如下: $.ajax({ type:'get', async:false, url:'http://112.11.131.238/nanhunongjing/GetCo

ajax实时获取下拉数据

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ajax实时获取下拉数据</pre> <style><!-- .input_s{ position:relative} .input_s ul{ list-style:none; margin:0; padding:0; width:200px; border:1px solid #cc