<script type="text/javascript">
$(function()
{
var obj =
{
"people":
[
{ "firstName": "Brett", "lastName": "McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName": "Hunter", "email": "bbbb" },
{ "firstName": "Elliotte", "lastName": "Harold", "email": "cccc" }
]
};
var k = $.param(obj);
$.ajax({
type: "POST",
url: "Handler1.ashx?Ajax="+k,
data: "{}",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: function(rtn)
{
}
});
});
</script>
我在后台是这样子获取的:
context.Response.ContentType = "text/plain";
string str = context.Request.QueryString["Ajax"];
string str2=text.Request["Ajax"];(这个不管用)
string str2=text.Request.Form["Ajax"];(这个也不管用)
string str3=text.Request.Param["Ajax"];(这个也不管用)
string str4=text.Request.Form["Ajax"];(这个也不管用)
但是就是获取不到序列化后的JSON字符串
请问该如何获取呢??
你用post方式传递数据,就不要写在地址后面,如下:
<script type="text/javascript">
$(function () {
var obj =
{
"people":
[
{ "firstName": "Brett", "lastName": "McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName": "Hunter", "email": "bbbb" },
{ "firstName": "Elliotte", "lastName": "Harold", "email": "cccc" }
]
};
var k = $.param(obj);
$.ajax({
type: "POST",
url: "Handler.ashx",
data: { Ajax: k },
dataType: "text",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: function (rtn) {
}
});
});
</script>
请问如何获取呢??
阁下能不能写个完整的例子来呢…………
救命啊……
@田麦成: 获取还是用你上面写的代码,只是 string str = context.Request.QueryString["Ajax"];这一句不可以了,这一句是对地址栏中获取值的。只是你用了
var k = $.param(obj);这一句把json序列化以后,你传的数据已经不是json了,所以你的dataType:"json"得改成dataType:"text"
并且你通过string str2=text.Request["Ajax"];这样获取到的值,你得反序列化回来。
@田麦成: 问题被关闭了啊。晕。我的不行吗?我试了一点问题也没有了啊。