从JSON获取数据时未定义

时间:2016-03-09 14:31:23

标签: javascript jquery json

我从JSON文件中获取数据,但得到了这个输出(我从inspect元素复制 - 编辑为HTML)

UseDNS no

我使用的脚本是

app
|-components
| |-hero-detail
| | |-hero-detail.component.ts (HeroDetailComponent)
|-services
| |-hero.service.ts (HeroService)

在console.log中输出

  

function link(){[native code]} undefined

我还尝试使用本地服务器上的文件,因为我在localhost上运行此文件,但它提供了相同的输出。

3 个答案:

答案 0 :(得分:0)

你对your url返回的JSON没问题吗?

因为我有这个:

MyJSONPCallback({ "link":"#", "text":"This is news 1" }, { "link":"#", "text":"This is news 2" }, { "link":"#", "text":"This is news 3" })

它不是有效的JSON而不是数组。这必须返回类似:

[{ "link":"#", "text":"This is news 1" }, { "link":"#", "text":"This is news 2" }, { "link":"#", "text":"This is news 3" }] 

答案 1 :(得分:0)

我点击了您正在访问的URL并注意到它没有作为json格式提供...在PHP中,我的JSON数据使用以下方式提供:

header('content-type: application/json; charset=utf-8');

你需要做类似服务器端的事情,否则你需要通过ajax调用请求txt或javascript而不是json。

答案 2 :(得分:0)

错误是因为您的JSONP格式不正确,对象需要被[]包围,例如:

MyJSONPCallback([
    { 
        "link":"#", 
        "text":"This is news 1" 
    }, 
    // other objects... 
])