JQuery $.getJSON() 不能正确处理回调
JQuery $.getJSON() Doesn't Work Right With Callback
已解决 - 等待标记(堆栈溢出延迟)
萤火虫中没有错误。我之前已经这样做了,我只是无法弄清楚为什么它不起作用。 asyncFetchContent()
是从其他地方发射的。 contentController
是在其他地方创建的。
function ContentController() {
}
ContentController.prototype.asyncFetchContent = function(){
$.getJSON( '/content/TestContent.json',
function(data){
contentController.displayContentCallback( data );
}
);
}
ContentController.prototype.displayContentCallback = function( javascriptObject ){
alert( "in callback");
$( "#testID" ).html( javascriptObject.title );
}
Firebug 将在定义displayContentCallback()
处接受断点并停止,但在您跨步后会静默失败。 javascriptObject
是undefined
.
提前感谢,
圭多
从手册:
重要提示:从 jQuery 1.4 开始,如果 JSON 文件包含语法错误, 请求通常会以静默方式失败。避免频繁手动编辑 出于此原因的 JSON 数据。JSON 是一种数据交换格式,具有 语法规则比 JavaScript 对象的语法规则更严格 文字表示法。例如,以 JSON 表示的所有字符串, 无论它们是属性还是值,都必须包含在 双引号。有关 JSON 格式的详细信息,请参阅 http://json.org/。
您的 JSON 是否包含错误?
contentController.displayContentCallback( data ); 不存在。 a) 它是 ContentController,而不是 contentController 和 b) 因为你使用的是原型,它必须是类似的东西
function ContentController() {
}
ContentController.prototype.asyncFetchContent = function(){
$.getJSON( '/content/TestContent.json',
function(data){
var x = new ContentController();
x.displayContentCallback( data );
}
);
}
ContentController.prototype.displayContentCallback = function( javascriptObject ){
alert( "in callback");
$( "#testID" ).html( javascriptObject.title );
}
我很确定这应该有效。
相关文章:
- 反向名称的JavaScript函数不能正确工作(例如学习JavaScript-O'Reilly)
- 为什么WebBrowser控件在保存后不能正确显示HTML
- JQuery $.getJSON() 不能正确处理回调
- 为什么在IE8中禁用日期不能正确使用Jquery日期选择器
- Vue.js orderBy不能正确使用大写和小写
- 为什么正则表达式不能正确验证网站URL
- jQuery animate() 第二次不能正确地对高度进行动画处理
- JavaScript - for 循环不能正确分配 x 和 y
- Babeljs 不能正确转译扩展类
- Javascript 不能正确更改内部 html
- jQuery风格的切换器没有't不能正确更改宽度
- Animate()不能正确地处理scrollTop
- Angular-ui-router 0.3.2不能正确地处理组件
- Javascript似乎不能正确处理稍后显示的隐藏元素
- HTML canvas drawImage不能正确处理风景图像
- 为什么我的jQuery .click()回调不能正确处理输入?
- 奥蕾莉亚——如果.Bind不能正确处理选择或单选按钮值
- Javascript排序不能正确处理字符串
- 链轮不能正确处理js文件中的动词
- Javascript regex不能正确处理邮政编码