已解决 - 等待标记(stackoverflow延迟)
萤火虫没有错误。在我无法弄清楚为什么它不起作用之前我已经这样做了。 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
。
由于式提前,
圭
答案 0 :(得分:2)
来自manual:
重要提示:从jQuery 1.4开始,如果JSON文件包含语法错误, 请求通常会无声地失败。避免经常手工编辑 因此JSON数据。 JSON是一种数据交换格式 语法规则比JavaScript的对象更严格 字面符号。例如,所有以JSON表示的字符串, 无论是属性还是价值,都必须附上 双引号。有关JSON格式的详细信息,请参阅http://json.org/。
您的JSON是否包含错误?
答案 1 :(得分:0)
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 );
}
我很确定这应该有用。