JQuery HOWTO中的getJSON方法

时间:2012-03-29 13:38:37

标签: jquery ajax coldfusion

在Firebug中,我看到了请求,并且所有数据都存在。但是,为了尝试甚至只是对console.log进行简单的警报,他们就完全被绕过了。我到底做错了什么,警报从未被击中?

var feedPage = 1;
var rowsToGet = 10;

$(function() {
var urlString = "cfc/getFeed.cfc?method=" + 'getFeed' + "&page=" + feedPage + "&rows=" + rowsToGet + "&userID=" + 2;
$.get(urlString, function(jsonData) {
    alert(jsonData); // never happens
},"json");
//displayResults(feedData,feedPage,rowsToGet); 
});

2 个答案:

答案 0 :(得分:2)

为您的ajax调用添加一个错误处理程序,以查看它失败的原因。

var feedPage = 1;
var rowsToGet = 10;

$(function() {
    var urlString = "cfc/getFeed.cfc?method=" + 'getFeed' + "&page=" + feedPage + "&rows=" + rowsToGet + "&userID=" + 2;
    $.ajax({
        url: urlString, 
        type: "GET",
        dataType: "json",
        // remove everything before the opening bracket
        dataFilter: function(data) {
            return data.replace(/^.+(\[|\{)/,"$1"); 
        },
        success: function(jsonData) {
            //alert(jsonData); // never happens
            console.log(jsonData);
            //displayResults(feedData,feedPage,rowsToGet); 
        },
        error: function(w,t,f) {
            //alert(w + "\n" + t + "\n" + f);
            console.log(arguments);
        });
    });
});

答案 1 :(得分:0)

这很可能是因为返回数据不是有效的JSON字符串。 尝试console.logging而不在$ .get调用结束时将数据类型指定为“json”。