首页 新闻 搜索 专区 学院

请教.net返回JSON格式

0
悬赏园豆:20 [已解决问题] 解决于 2013-01-24 14:54

前台jquery代码: 

$.ajax({ type: "POST", url: "OutBoundSign.ashx", success: function (data) {
                        var jsonobj = eval('(' + data + ')');

后台是ashx文件,像上面的代码是可以得到正确的JSON结果,但我发现添加了dataType:"application/json"后,直接就执行error,alert(XMLHttpRequest.responseText)发现结果和去了dataType后的success中的data一样的,求那位高手给一段ashx文件前台能够让前台代码认得出的。

另外,我发现用Jquery+Json这种方式读取数据,安全好像有问题,表的结构就公开了,如果不把表名放进去,拿到的结果又非常乱。

问题补充:

谁能给我一份ashx+jquery ajax+json的示例,谢谢。注意一定是要加了dataType:"json"的。happy_daily@163.com

happydaily的主页 happydaily | 小虾三级 | 园豆:674
提问于:2013-01-17 08:13
< >
分享
最佳答案
0

$.ajax({dataType:"json",....

收获园豆:10
Qlin | 老鸟四级 |园豆:2403 | 2013-01-17 08:45

设置成JSON还是不行,不设置时是可以正确得到结果的。。。。。

happydaily | 园豆:674 (小虾三级) | 2013-01-17 14:40

@happydaily: 

firebug 看看 返回的数据是 什么

后台 记得 Response.End()

Qlin | 园豆:2403 (老鸟四级) | 2013-01-17 14:50

@Qlin: 数据理论上是没有问题的,因为我不加JSON前台是可以正确解析的,一加就执行error,但是alert(XMLHttpRequest.responseText),内容和正常返回的一样。你能给一份经过测试完整的ASHX+HTML页面给我吗?谢谢。

happydaily | 园豆:674 (小虾三级) | 2013-01-17 16:11
其他回答(4)
0

你就使用简单的方法 $.getJson() 或者$.Post() 

另外你这样的 是不是应为你后台输出时候没有转为josn格式输出

收获园豆:5
海上将军 | 园豆:306 (菜鸟二级) | 2013-01-17 08:47
0

dataType:"json"

收获园豆:5
chenping2008 | 园豆:9836 (大侠五级) | 2013-01-17 09:30
0

这个问题你不用考虑的太多,你可以直接对那个你不认识的对象做操作

虽然你不然但是浏览器认识 这其中有个转码(HtmlEncode)的问题,不论是你自己格式化的json格式还是

序列化成的json格式浏览器都认的,你直接alert的话都是object对吧?你可以设置一个断点,看看那个你alert()的那个对象

你会发现你绝对可以掌握怎么解析他的,你是在想看看它是什么个样子的话,你必须自己处理,网上也有很多这样解析方法,我以前有个现在 不用了因为不论是序列化的还是自己拼接的json我都能解析了,费那劲干嘛呢,浏览器能懂得就ok啦

Dynamic-xia | 园豆:287 (菜鸟二级) | 2013-01-17 10:44
0

dataType设置成json后,success传递过来的data就已经是json了,所以不需要eval了

tubo | 园豆:264 (菜鸟二级) | 2013-01-17 20:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册