asp.net后台查看获取到的请求参数集合
t=Login&code=nanjing&un=111&pw=111&code=nanjing&codeid=zhuoyue&ASP.NET_SessionId=5elxlp55agrxjzrhb3koi4hp&ALL_HTTP=HTTP_CONNECTION%3akeep-alive%0d%0aHTTP_ACCEPT%3aapplication%2fjson%2c+text%2fjavascript%2c+*%2f*%3b+q%3d0.01%0d%0aHTTP_ACCEPT_ENCODING%3agzip%2cdeflate%2c...
string code = _request.Params["code"]; 获取到的code值为nanjing,nanjing
前台请求代码:
$.getJSON("Handler/AccountHandler.ashx?t=Login&code=" + code + "&un=" + un + "&pw=" + pw, null, function (json) { });
请问下这个是什么情况。。。。。
你在异步之前,alert code的内容,看看是什么内容,你请求参数集合里面有两个code
t=Login&code=nanjing&un=111&pw=111&code=nanjing&codeid=zhuoyue&ASP.NET_SessionId=5elxlp55agrxjzrhb3koi4hp&ALL_HTTP=HTTP_CONNECTION%3akeep-alive%0d%0aHTTP_ACCEPT%3aapplication%2fjson%2c+text%2fjavascript%2c+*%2f*%3b+q%3d0.01%0d%0aHTTP_ACCEPT_ENCODING%3agzip%2cdeflate%2c...
var url="Handler/AccountHandler.ashx?t=Login&code=" + code + "&un=" + un + "&pw=" + pw; alert(url); $.getJSON(url, null, function (json) { });
这里看到的code还是一个。
@越天: 推测是不是你提交数据的时候,是不是连form表单的数据也提交过去了
@秋壶冰月: 前台页面无form表单。只是简单的一个table
@越天: 没碰到过这种情况?
请理解Request.Params["param"]本质,它是从ICollection接口继承过来的,也就是说它属于集合类型,会获取所有这样的集合。你这有两个相同的参数名,所以会获得两个参数的集合。如果你把参数的值改变,这样会更明显。
觉得不错,给分!!
问题的核心是我传了一个code参数,到后台里为什么变成两个了。
@越天: t=Login&code=nanjing&un=111&pw=111&code=nanjing&,你这里有两个参数名为code,所以获取到了两个。
@wongdavid: 就是非常奇怪,我前台请求前给的一个code,怎么到后台就两个code.
@越天: 你传递了两个code参数好不好,你没看到我我标注的红色字吗?两个嘛。
@wongdavid: 你看下问题的详情,你标注的是我在后台看到的连接,我的问题是为什么传过来了两个相同的参数,我在前台明明只传了一个。
@越天: 有没有完整的代码?我怀疑你提交了某个表单数据。
怎么就code有两次呢,我建议你换个参数看一下,看还有没有code