我通过以下方式使用 $.getJSON 来接收警报,但没有运气。
这是代码,
<script type="text/javascript">
$(document).ready(function() {
var url = "ticker.js?callback=?";
$.getJSON(url, function(data) {
alert(data.price);
});
});
</script>
并且ticker.js文件只有以下行
{ticket:'IBM',price:14.57}
它应该收到警报“14.57”,但我没有收到警报。
如果您想查看它的实际效果,可以尝试该链接,http://nazmulweb.com/site5/demo/jsonPtest/ http://nazmulweb.com/site5/demo/jsonPtest/
如果是本地文件,则应删除?callback=?
部分,像这样:
var url = "ticker.js";
$.getJSON(url, function(data) {
alert(data.price);
});
如果你看the $.getJSON() docs http://api.jquery.com/jQuery.getJSON/,有这个:
如果 URL 包含字符串"callback=?"
在 URL 中,请求被视为 JSONP。请参阅 的讨论jsonp
数据类型输入$.ajax() http://api.jquery.com/jQuery.ajax更多细节。
使用 JSONP 它期望randomFunctioName({ticket:'IBM',price:14.57});
在响应中,不justJSON,而是一个函数调用...这就是 JSONP 跨域工作的方式,通过成为<script>
标签。因为您只需要 JSON 并从local源,删除callback=?
piece.
Edit:我完全错过了第二个问题,您当前的 JSON 无效,并且将无法通过 1.4 中添加的 jQuery 检查。它需要是这样的:
{ "ticket": "IBM", "price": 14.57 }
您可以在此处测试 JSON 的有效性:http://www.jsonlint.com/ http://www.jsonlint.com/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)