JQuery POST json 数据在后台怎么获取数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQuery POST json 数据在后台怎么获取数据?相关的知识,希望对你有一定的参考价值。
前台
$.ajax(
type: "POST",
contentType: "application/json",
dataType: "json",
url: URL,
data: "\"name\":\"bb\"",
success: function (msg)
,
error: function (msg)
);
后台ashx.cs
public void ProcessRequest(HttpContext context)
context.Response.ContentType = "application/json";
string name = context.Request.Params["name"];
这里拿到name为null,应该怎么拿?
type: "POST",
contentType: "application/json",
dataType: "json",
url: URL,
data: "name=bb", // 你那样也行
success: function (msg)
,
error: function (msg)
);
后台ashx.cs
public void ProcessRequest(HttpContext context)
context.Response.ContentType = "application/json";
string name = context.Request["name"]; //POST提交的数据
追问
这样就不是JSON了啊,是URL方式了吧!!
string name = context.Request["name"]; //这样拿不到哦~~
你传值到后台json和url有什么区别吗
jquery底层代码就是把json参数重新转成url的形式了。
真的 你要加强基本功
post的数据会提交一个字节流到对应的请求页,请求页通过读取字节流来获取post的数据!
示例C#中如何在后台获取post的数据:
System.IO.StreamReader sdr = new System.IO.StreamReader(Request.InputStream);data = sdr.ReadToEnd(); 参考技术B 你bb是变量还是值?
data: name:bb,//bb是变量
data: name:“bb”, //bb是值
或者
data: "name=bb",
data: "name="+bb,追问
//bb是值~
不行啊!!
我的意思是这样"name":"bb"二个都是值
你这里name是变量?
你JS的基本功还不够啊
name:"bb",这是键值对象,name是键名,bb是值
如果前台JS的代码是
data:name:"bb"
那么 后台cs文件就是
string name = request.Form["name"]
如果要传两个值
那么data:name:"111",bb:"222"
后台取值就是
string name = request.Form["name"]
string name = request.Form["bb"]
用jquery的post方法提交数据需要servlet返回的数据类型是json的数据格式,应该怎么做??
我用就query的post的方法提交数据时,第四个参数设置成“json” 从服务器返回的数据有要求必须是什么格式的数据,jquery才能够解析成json数据格式,我是从服务器返回的一个string类型的数组,结果不行,还要用eval()解析一下才能是json数据格式的。
参考技术A 首先你要在servlet里在返回之前就要把返回的数据组装成json格式的字符串,在前台接收的数据就是json格式了,不需要再转的。我平时就是这样做的,没问题啊。追问$.post()这个方法不是可以有四个参数吗!
$.post("请求地址",{传递参数},回调函数,返回的数据类型)
我在返回数据类型的地方写的“json”,然后从servlet返回的内容是["a","b","c"]这个样子的,可是不能正确解析成json数据格式的你说的那个貌似是$.ajax()这个方法吧。
那是你返回内容的格式错了啊,json格式是这样的“key1”: “value1”, “key2”: “value2” 。
参考技术B 1.后台必须返回json类型的数据;你可以这样设置response.setContentType(“text/x-json;charset=UTF-8”);
response.getWriter().write(text);
2.js调用这样写
$.post('url', p:'param', function(data)
alert(data);
,'json');//注意'json'必须小写
以上是关于JQuery POST json 数据在后台怎么获取数据?的主要内容,如果未能解决你的问题,请参考以下文章