Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了。
$.ajax({
type: "post",
url: "../Test/GetPointList.ashx",
dataType: "json",
success: function(info) {
$(info).each(function(te, u) {
alert(111);
alert(te);
});
}
});
});
后台数据:
{totalCount:10,success:true,error:"",singleInfo:"",data:[{"ID":"1","DivID":"Div_0","PointX":"138","PointY":"36"},{"ID":"2","DivID":"Div_1","PointX":"138","PointY":"52"}…… 展开
Jquery用ajax获取数据后在页面取不到,确定后台已经传数据过来了是设置错误造成的,解决方法为:
1、打开HBuilderX工具,创建Web项目,新建静态页面ajax.html。
2、打开已新建的ajax.html文件,引入jquery文件并修改title标签内容。
3、在<body></body>标签中,插入一个div标签,并在div标签中插入一个table。
4、接着在项目中的data文件夹下,新建user.json文件。
5、打开user.json文件,添加json格式数据。
6、在<script></script>标签中,jquery初始化函数,调用ajax()方法读取json文件数据;返回成功后,将数据渲染加到table中。
首先你先要确定到底收到数据没
所以第一步,你先去到dataType,在success的回调函数这么写
success: function(info) {
console.log(info);
}
把收到的数据打印到控制台,在控制台里看有没有接收到数据,如果打印出了字符串,证明你接受是没有问题的。如果收不到,就在接收上查查。
排除了接收问题的话,就检查数据
你的JSON是怎么拼的?是用现成的库还是直接拼的字符串?如果直接拼接的字符串的话,我感觉你的数据格式是有问题的
按照JSON格式的定义,像totalCount虽然是key,不过是string,所以应该用双引号包裹,写成"totalCount":10 (数字可以不用包裹)
console.log(info);打印出来是到哪里看呢?
我平时都是用Google的开发工具,里面的Console是不是这个呢?
JSON是拼的,用的一个库。
以前用在ExtJs上是没有问题的。不知道为什么JQuery上显示不出来。
是在console里看的
严格的来说,你这个JSON字符串的格式是不标准的
jQuery解析JSON的操作,是直接调用浏览器的JSON.parse()方法的,因为你的JSON格式不符合标准格式的,所以可能是这里产生了问题
你在后台先组织JSON字符串,给每个key都标准的用双引号包裹,然后加上dataType,试试能不能解析成js Object
具体写法:
success: function(info) { alert(info)
});
$(info)这个是取传过来的info值?个人觉得貌似不是