getJSON回调不起作用

时间:2014-11-19 01:11:18

标签: javascript jquery json jsonp getjson

我非常清楚创建JSON对象并将它们传递给浏览器。出于某种原因,我没有让回调起作用。控制台上没有任何内容。

$('#id').change(function(){
    $.getJSON('ajax.cfm?id='+$(this).val()+'&callback=?',null,function(data){
        console.log('here');
    });
});

正在进行调用,它将返回200状态和JSON对象:

configuratorsObj({ 
    "Results" : 8,   
    "items" : [

        {
            vchrName: "Name1",
            itemID: 1782
        }, 
        {
            vchrName: "Name2",
            itemID: 1769
        }, 
        {
            vchrName: "Name3",
            itemID: 1756
        }, 
        {
            vchrName: "Name4",
            itemID: 404
        }, 
        {
            vchrName: "Name5",
            itemID: 248
        }, 
        {
            vchrName: "Name6",
            itemID: 1743
        }, 
        {
            vchrName: "Name7",
            itemID: 5786
        }, 
        {
            vchrName: "Name8",
            itemID: 469
        } 
]})

但即使只有一个简单的console.log('here'),回调也行不通。控制台上没有错误。

1 个答案:

答案 0 :(得分:0)

文档说数据对象 - 你的第二个参数 - 应该是一个普通的对象,并在被附加到url之前转换为字符串并进行url编码。试试这个:

$('#id').change(function(){
    var url = 'ajax.cfm?callback=?';
    var data = { id: $(this).val() };
    $.getJSON(url, data, function(data){
        console.log('here');
    });
});