- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定带有 anchor 和 Handlebars / mustache 模板的 html:
<!-- 1. Anchor -->
<div id="anchor">Anchor</div>
<!-- 2. HTML-Mustache template -->
<script id="ẗpl" type="text/template">
{{#people}}
<li><b>{{family}} {{name}}</b> ({{title}}, {{place}}) : {{introduction}}.</li>
{{/people}}
</script>
给定 data.json(已证明有效且来自第 3 方网站):
{
"people": [
{
"family": "Lopez",
"name": "Hugo",
"title": "leader",
"place": "Paris",
"introduction": "GIS cartographer, Gdal & D3js enthusiast, Cartographic workshop's dinosaure & rennovator"
},
{
"family": "Ganesh",
"name": "Arun",
"title": "co-leader",
"place": "Dharamsala",
"introduction": "GIS cartographer, D3js enthusiast, interactions designers & wikidata tinker"
}
]
}
给定一个 JS handlebars.js 调用:
var url = '//bl.ocks.org/hugolpz/raw/8075193/data.json?callback=?'; // get loaded successfully
// Action below fails:
$.getJSON(url, function (data) {
var template = $('#tpl').html();
var stone = Handlebars.compile(template)(data);
$('#anchor').append(stone);
});
为什么我会收到错误 Uncaught SyntaxError: Unexpected token :
?
如何让它发挥作用?
JSfiddle:http://jsfiddle.net/YGwJ9/9/
<小时/>编辑:当我将 JSON 重组为
{
"people"
:
[
...
]
}
错误消息通过":"
指向第三行。
最佳答案
我刚刚尝试了一下,问题是//bl.ocks.org/hugolpz/raw/8075193/data.json?callback=callbackName
正在发送回 JSON,而不是有效的 JSONP 回调。因为callback=?
在您的 URL 中,jQuery 将需要 JSONP,而不是 JSON。 JSON!= JSONP。 JSON是一种文本数据符号。 JSONP是一种使用 script
传递 JSON 跨域的方法标签。 (以下示例。)
如果您控制该 URL 返回的内容,则可以更改它,以便将 JSON 包装在适当的 JSONP 包装器中(基本上将 JSON 放入函数调用中,其中函数的名称来自 callback
参数网址)。
如果您不控制 URL 返回的内容,则除非该服务器支持 CORS它允许您的来源并且您正在使用 CORS-enabled browser ,您将无法跨域加载该数据,因为 Same Origin Policy .
<小时/>以下是该 URL 发回的内容:
{ "people": [
{
"family": "Lopez",
"name": "Hugo",
"title": "leader",
"place": "Paris",
"introduction": "GIS cartographer, Gdal & D3js enthusiast, Cartographic workshop's dinosaure & rennovator",
"photo": "img/WikiAtlas_Lopez_Hugo_Yug.jpg",
"twitter": "http://twitter.com/Hugo_lz"
},
{
"family": "Ganesh",
"name": "Arun",
"title": "co-leader",
"place": "Dharamsala",
"introduction": "GIS cartographer, D3js enthusiast, interactions designers & wikidata tinker",
"photo": "img/WikiAtlas_Ganesh_Arun_Planemad.jpg",
"twitter": "http://twitter.com/Edouard_lopez"
},
{
"family": "Lopez",
"name": "Edouard",
"title": "support",
"place": "Bordeaux",
"introduction": "Backend admin & Frontend professional webdev, scripts & stack consulting",
"photo": "img/WikiAtlas_Lopez_Edouard_Lyhana8.jpg",
"twitter": "http://twitter.com/Plandemad"
}
]
}
这是一个有效的 JSONP 响应:
callbackName({ "people": [
{
"family": "Lopez",
"name": "Hugo",
"title": "leader",
"place": "Paris",
"introduction": "GIS cartographer, Gdal & D3js enthusiast, Cartographic workshop's dinosaure & rennovator",
"photo": "img/WikiAtlas_Lopez_Hugo_Yug.jpg",
"twitter": "http://twitter.com/Hugo_lz"
},
{
"family": "Ganesh",
"name": "Arun",
"title": "co-leader",
"place": "Dharamsala",
"introduction": "GIS cartographer, D3js enthusiast, interactions designers & wikidata tinker",
"photo": "img/WikiAtlas_Ganesh_Arun_Planemad.jpg",
"twitter": "http://twitter.com/Edouard_lopez"
},
{
"family": "Lopez",
"name": "Edouard",
"title": "support",
"place": "Bordeaux",
"introduction": "Backend admin & Frontend professional webdev, scripts & stack consulting",
"photo": "img/WikiAtlas_Lopez_Edouard_Lyhana8.jpg",
"twitter": "http://twitter.com/Plandemad"
}
]
})
关于javascript - 有效的 JSON 会破坏 HandlebarsJS 和 $.getJSON 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20728768/
我正在尝试获取客户端的 IP 地址和 GPS 坐标。使用 jQuery,我有这个: $.getJSON("http://jsonip.appspot.com/", function(data) {
这个问题已经有答案了: Why does JQuery.getJSON() have a success and a done function? (2 个回答) 已关闭 6 年前。 我想知道这两个代
所以首先,是的,我知道有几个答案,但没有一个能够解决我的问题。首先我将展示我的代码HTML: Shop
假设我有以下 JavaScript: (function($) { $.getJSON(url, function(data) { $.each(data.rows, function(i
是否可以使用 jQuery 在另一个 getJSON 请求中使用 getJSON 请求? 像这样: // Population the Requests List // jQuery AJAX cal
我有以下代码,该代码已针对此问题进行了简化。基本上我有一个循环,在每次迭代中调用 jquery getJSON 函数,调用 API 端点来获取一些天气数据。问题是,当 getJSON 请求被触发时,我
我有一个使用 getJSON 的函数,但它没有像我预期的那样工作。 function balbla(name, param) { $.getJSON("/blabla.json?nam
我有一段代码,例如: $.getJSON("http://mysite.org/polls/saveLanguageTest?url=" + escape(window.location.href)
我正在使用jquery.getJSON() ,但我不知道如何进行错误处理。这些是我需要处理的一些情况。 1)如果返回的数据为null怎么办? 2)如果返回的数据不能解析json怎么办? 3) 如果返回
我正在通过参与一个测试项目(包括 SubSonic 和 jQuery)来学习 asp.net mvc。 我遇到的问题是,每次我想要返回的不仅仅是简单字符串(例如 Json 对象)时,我都会遇到困难,因
执行跨域查询,如果运行的URL不可用(404),如何执行某个功能?我尝试这样的事情: $.getJSON({ url:'example.php?callback=?', statusCode: { 4
我在 jQuery 中搜索了相关主题,但没有找到任何方法来解决我的问题。 $(document).ready(function(){ $("#inputForm").submit(functi
当调用 yahoo Web 服务 (http://boss.yahooapis.com/ysearch) 返回数据集时,是否可以设置超时并在超时后退出例程? jQuery.getJSON("http:
我正在使用 jQuery getJSON() 函数。这个函数获取数据没有问题。但有时等待,等待等待......我的加载栏在页面中心显示加载加载。 所以 jQuery ajax() 函数有一个超时变量。
我有一个 html 代码: asd $('button').click( function() { $.getJSON('/schedule/test/', function
目标:我所追求的是每次在数据库中添加某些内容时(在 $.ajax 到 Submit_to_db.php 之后),从数据库获取数据并刷新 main.php(通过 draw_polygon 更明显)。 所
我已经阅读了文档并用谷歌搜索了此内容,但没有看到问题所在。我正在尝试从本地 json 文件获取一些数据。我已在 JSONLint 验证了响应数据 代码 $(document).ready(functi
我在json.getJSON方法上遇到麻烦。这是我当前的代码: var jqxhr = $.getJSON("http://127.0.0.1:5002?callback=?", function()
我需要进行跨域请求,并且 getJSON 有问题。 $.getJSON("http://usr:pwd@10.0.1.xx/cgi-bin/remote/request.cgi?m=json&r=gr
这个问题已经有答案了: How do I return the response from an asynchronous call? (42 个回答) 已关闭 8 年前。 这是我的问题 我有一个充满
我是一名优秀的程序员,十分优秀!