$(document).ready(function () {
$("button").click(function(){
$.getJSON("http://xxx.com/api/apiMainnews", function(data){
$.each(data, function(i,item){
alert("JSON Data: " + item.ftitle);
});
});
});
});
没写过前端,硬着头皮上,然后我测试的时候发现我跟着jquery的教程写了完全没反应,在浏览器network里面已经看到获得了的JSON数据,但是为何无法赋值给 data ?
html是:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
<title>test</title>
<!-- HTML5 Shim 和 Respond.js 用于让 IE8 支持 HTML5元素和媒体查询 -->
<!-- 注意: 如果通过 file:// 引入 Respond.js 文件,则该文件无法起效果 -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<button>获得 JSON 数据</button>
<p id="ftest" name="ftest">
</p>
<!--nav-->
<!-- jQuery (Bootstrap 的 JavaScript 插件需要引入 jQuery) -->
<script src="./jquery.min.js"></script>
<script src="./apit.js"></script>
</body>
</html>
ps.jquery我用的是1.11
ps.最奇怪的是,有几次我竟然能赋值成功,但是大多数时候失败,网络肯定是没有问题的,何解?
前端时间解决了问题,忘了上来终结了
主要原因是因为输出的json中包含部分换行符,未经过处理,到了前台,部分浏览器在parse json的时候就无法正常读取,造成该json无法正常被显示出来,谢谢大家!
解决的方式,我在后台输出json前将换行符强制转换,之后所有的浏览器、parse都可以正确读取,谢谢大家。