开发者社区> 问答> 正文

jquery getJSON 为何无法将get到的JSON赋值?

$(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.最奇怪的是,有几次我竟然能赋值成功,但是大多数时候失败,网络肯定是没有问题的,何解?

展开
收起
小旋风柴进 2016-05-30 09:55:29 2425 0
1 条回答
写回答
取消 提交回答
  • 主要原因是因为输出的json中包含部分换行符,未经过处理,到了前台,部分浏览器在parse json的时候就无法正常读取,造成该json无法正常被显示出来

    2019-07-17 19:19:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Delivering Javascript to World 立即下载
Javascript中的对象 立即下载
Delivering-Javascript-to-World-Plus-Dog 立即下载