【发布时间】:2013-10-08 11:34:04
【问题描述】:
您好,我已经阅读了将近 1 周的关于 json 的文章。
$.getJSON( 'accounts.json', function(data ) {
$('#try1').append("<option value='0' name='idsel'>Select Outlet</option>");
console.log(data);
$.each(data, function (i, item) {
$('#try1').append("<option value='" + item.outlet_group_id + "'>" + item.outlet_group_name + " : " + item.outlet_group_code + "</option>");
});
});
我有这个脚本可以正常工作,但是当我在 url 上加载它时它没有出现 网址是这个http://nutri.de.imerchmedia.com/services/accounts
我也试过jsonp,我想出了这个
$.ajax({
url: 'http://nutri.de.imerchmedia.com/services/accounts',
dataType: 'jsonp',
success: function(data1){
$.each(data, function (k,v) {
console.log(data1);
$('#form').append(k + ':' + v);
});
}
});
不知道是我还是楼主?
任何帮助将不胜感激。 也可以随意尝试通过链接提取数据。
【问题讨论】:
-
您是否遇到任何错误?有数据吗?你用萤火虫检查过吗?这是同源策略限制吗? en.wikipedia.org/wiki/Same_origin_policy
-
URL返回JSON,不是JSONP,所以不能使用JSONP。由于是外部域,所以不能使用Ajax,除非服务器支持CORS。
-
它的 htmlrequest 和 sameoriginpolicy 限制,但我想我已经尝试了所有方法,但仍然无法正常工作
-
@FelixKling 如果它的 json 它应该适用于我的第一个脚本,对吗?因为我的第一个脚本读取了一个保存的 json 文件,该文件正是链接的内容
-
不,这不是因为您正在访问外部域。除非启用了 CORS,否则您无法通过 Ajax 从外部域加载 任何 数据。 JSONP 实际上不是 Ajax,它通过动态添加
<script>元素来工作。
标签: jquery html ajax json jsonp