• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > angular开发 > angular6.0使用教程:angular为啥调用不到thinkphp接口的数据

    angular6.0使用教程:angular为啥调用不到thinkphp接口的数据

    作者: 分类:angular开发 点击: 235 次
    wordpress CMS主题:ssmay主题

      在使用angular6.0开发项目时,可能会要调用外部服务器的接口来获取数据。我在用angular6.0开发项目时,就曾用到thinkphp开发的接口。而且在调用thinkphp接口时碰到一个很奇葩的问题:通过angular6.0的http来调用thinkphp接口的数据时获取不到数据,并如下图的错误提示:

      angular6.0使用教程:angular为啥调用不到thinkphp接口的数据

      为什么会出现这样的错误?为什么angular调用不到thinkphp接口的数据?莫非angular与thinkphp有冲突?我的angular调用代码如下:

      this.http.get('http://localhost/dream/index.php/home/index/slide').subscribe(
      function(data){ console.log(data); },
      function(err){ console.log(err); }
      )

      从上图中的错误提示中可以看出,是获取到的数据的json格式有错误,也就是说,数据已经获取到,只是json数据格式有误。

      接下来,我们点击“network"网络查看一下接口文件的状态,如下图:

      angular6.0使用教程:angular为啥调用不到thinkphp接口的数据

      从上图中我们可以看出,json数据已传递过来了,只是同时还有一些HTML代码。再看图1中的错误提示【Unexpected token < in JSON at position 3270 at JSON.parse】 ,意思是【在json数据中存在 < 这个符号,2个图片一对比,我们就不难看出,是这些HTML代码在做怪。

      再仔细查看一下这些HTML代码,倒底是个什么东东,不看不知道,一看吓一跳,

      angular6.0使用教程:angular为啥调用不到thinkphp接口的数据

      用过thinkphp的应该了解,这些HTML代码是thinkphp的底部跟踪 提示信息。这说明,thinkphp服务器就该开启了“底部跟踪”。

      打开thinkphp的配置文件config.php,果然开启了“底部跟踪”:

      angular6.0使用教程:angular为啥调用不到thinkphp接口的数据

      果断关闭这个thinkphp的 底部跟踪,再刷新一下angular项目页面,问题解决。

      【注】

      thinkphp的这个底部跟踪功能,在我们开发thinkphp项目时,是有一定的需要的,它会提示项目页面打开时间、调用了几次数据库、sql语句等等,可以清楚地了解我们写的thinkphp的代码是否高效。所以在thinkphp项目开发时,有必要打开这个底部跟踪。如果项目完工后,一定要关闭这个底部跟踪。

      我就曾因为没有关闭这个底部跟踪,导致angular调用thinkphp接口的数据获取不到数据,而百度中也找不到相应的问题解决方案,让我曾苦恼了一段时间,一直以为是angular的问题,却不曾想是thinkphp的问题。

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201806135663.html
    本文时间:2018-06-13 10:57:06
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.