Firefox jquery ajax JSONP调用不工作
Firefox jquery ajax JSONP call not working
我正试图获得JSONP $.ajax
请求工作。它在Chrome和IE中运行良好,但在Firefox v30中失败。
当它失败时,它不会给出任何错误-至少Firebug不会显示任何错误,它只是从不调用回调函数。
这是一个基本的演示网站(http://andysylvester.com/files/reader/),可以在Chrome和IE中工作,但不能在Firefox中工作。
nytRiver.js JSON调用实际上返回一个javascript函数调用到onGetRiverStream
,参见这里的文档:http://riverjs.org/#structureOfRiverjs
<html>
<head>
<title>Minimal River.js Feed Reader</title>
<script src="http://fargo.io/code/jquery-1.9.1.min.js"></script>
<script>
var theRiver;
function onGetRiverStream (updatedFeeds) {
theRiver = updatedFeeds;
displayFeeds();
}
$.ajax ({
url: "http://rss.scripting.com/rivers/nytRiver.js",
dataType: "jsonp"
});
function displayFeeds() {
var feedText = "";
// Create title
for (var i in theRiver.updatedFeeds.updatedFeed) {
feedText = feedText + theRiver.updatedFeeds.updatedFeed[i].feedTitle + " <a href=" + theRiver.updatedFeeds.updatedFeed[i].feedUrl + "> (Feed) " + "</a><br>";
feedText = feedText + "<a href=" + theRiver.updatedFeeds.updatedFeed[i].item[0].link + ">" + theRiver.updatedFeeds.updatedFeed[i].item[0].title + "</a><br>";
feedText = feedText + theRiver.updatedFeeds.updatedFeed[i].item[0].body + "<br>";
feedText = feedText + "<br>";
}
document.getElementById("demo").innerHTML = feedText;
}
</script>
</head>
<body>
<h1><center>Minimal River.js Feed Reader</center></h1>
<p id="demo">Wating for feeds to load....</p>
</body>
</html>
Try
$(function() {
onGetRiverStream = function (updatedFeeds) {
theRiver = updatedFeeds;
displayFeeds();
};
displayFeeds = function() {
var feedText = "";
// Create title
for (var i in theRiver.updatedFeeds.updatedFeed) {
feedText = feedText + theRiver.updatedFeeds.updatedFeed[i].feedTitle + " <a href=" + theRiver.updatedFeeds.updatedFeed[i].feedUrl + "> (Feed) " + "</a><br>";
feedText = feedText + "<a href=" + theRiver.updatedFeeds.updatedFeed[i].item[0].link + ">" + theRiver.updatedFeeds.updatedFeed[i].item[0].title + "</a><br>";
feedText = feedText + theRiver.updatedFeeds.updatedFeed[i].item[0].body + "<br>";
feedText = feedText + "<br>";
}
document.getElementById("demo").innerHTML = feedText;
};
$.getScript("http://rss.scripting.com/rivers/nytRiver.js");
});
jsfiddle http://jsfiddle.net/guest271314/T7cZL/
看到jQuery.getScript ()
问题出在Firefox插件Privacy Badger上。它阻止了rss.scripting.com作为第三方跟踪器。
我在谷歌浏览器上安装了相同的插件-尽管一开始它并没有阻止rss.scripting.com。然而,一旦它阻止它然后Chrome调试工具设法更好的Firebug,它给出以下错误:
net::ERR_BLOCKED_BY_CLIENT
一个快速SO搜索带来了这个答案:我得到失败加载资源:net::ERR_BLOCKED_BY_CLIENT与谷歌浏览器
这意味着是一个广告拦截插件造成了问题
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么ng控制器不调用或工作或功能不工作
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- Javascript作用域和Ajax调用;工作不正常
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 给出<选项>标记一个类?API调用不工作
- show-hide只在ajax调用中第一次工作
- 提交按钮只能在onchange调用输入文本后第二次点击时工作
- 表单提交没有'调用return false后无法工作
- Ajax调用PHP失败,ASP正常工作.NET
- CSS + jQ插件阻止AJAX调用/事件侦听器工作
- 如何在工作灯适配器中调用 WSDL
- javascript在调用return redirect之前无法工作
- 为什么更改范围获胜'不能在ng if内部工作,而是通过函数调用AngularJS
- 让jquery插件在Ajax调用后工作
- ajax调用后$('')选择器不工作
- 调用Typescript setter don't返回函数,尽管关联的getter可以工作
- 使用setInterval不工作调用对象文字方法
- Javascript / Jquery get()不能在移动浏览器上工作(调用node-red, node.js)
- Jquery Ajax回调不工作调用成功和失败