在浏览器中找到URL json,找不到jquery

时间:2013-05-23 17:09:03

标签: jquery json solr

我已经使用 json 来处理数据,我回复了 200 错误。

导致浏览器中的url导致错误,但如果我使用jquery无法正常调用该函数。

功能:

function solrQuery(query) {
    $.ajax({
        url: 'http://localhost:8081/solr/select',
        type: "GET",
        data: {
            'q': query,
                'rows': "0",
                'facet.limit': "-1",
                'facet.mincount': "1",
                'facet': "true",
                'facet.field': "manufacturer",
                'wt': "json"
        },

        dataType: 'json',
        success: function (data) {
            $('#cars').html('');

            if (button === 'listCars') {
                for (var i in data.facet_counts.facet_fields.manufacturer) {
                    //          if (!$.isNumeric(data.facet_counts.facet_fields.manufacturer[i])) {
                    var imagen = 'img/logo-cars/' + data.facet_counts.facet_fields.manufacturer[i] + '-logo-small.gif';
                    var dataImg = document.createElement('img');
                    $(dataImg).attr('src', imagen).attr('id', data.facet_counts.facet_fields.manufacturer[i]);
                    //          }
                    $('#cars').append(dataImg);

                }
            }
        },
        error: function (data) {
            alert("ccc");
        }
    });
}

错误的网址结果:

/solr/select?q=*%3A*&rows=0&facet.limit=-1&facet.mincount=1&facet=true&facet.field=manufacturer

此网址是正确的,在浏览器中找到了查询JSON。

结果是:

{
    "responseHeader": {
        "status": 0,
        "QTime": 1,
        "params": {
            "facet": "true",
            "facet.mincount": "1",
            "q": "*:*",
            "facet.limit": "-1",
            "facet.field": "manufacturer",
            "wt": "json",
            "rows": "0"
        }
    },
    "response": {
        "numFound": 84,
        "start": 0,
        "docs": []
    },
    "facet_counts": {
        "facet_queries": {},
        "facet_fields": {
            "manufacturer": [
                "abarth",
                1,
                "audi",
                7,
                "austin",
                1,
                "bmw",
                2,
                "daewoo",
                2,
                "ford",
                1,
                "fso",
                1,
                "honda",
                1,
                "hyundai",
                1,
                "jaguar",
                3,
                "lexus",
                1,
                "mazda",
                1,
                "mitsubishi",
                1,
                "nissan",
                1,
                "pontiac",
                1,
                "seat",
                1
            ]
        },
        "facet_dates": {},
        "facet_ranges": {}
    }
}

不管问题出在哪里。感谢。

1 个答案:

答案 0 :(得分:0)

也许你可以通过将 dataType:'json'替换为 dataType:'jsonp'来使用JSONP并添加 jsonp:'json.wrf',

            function solrQuery(query) {
                $.ajax({
                url: 'http://localhost:8081/solr/select',
                type: "GET",
                data: {
                    'q': query,
                    'rows': "0",
                    'facet.limit': "-1",
                    'facet.mincount': "1",
                    'facet': "true",
                    'facet.field': "manufacturer",
                    'wt': "json"
                },
            //dataType: 'json', CHANGE FROM AJAX TO JSONP FOR CROSS DOMAIN ISSUE                       
            dataType: 'jsonp',
            jsonp: 'json.wrf',


                success: function (data) {
                    $('#cars').html('');

                    if (button === 'listCars') {
                    for (var i in data.facet_counts.facet_fields.manufacturer) {
                        //          if (!$.isNumeric(data.facet_counts.facet_fields.manufacturer[i])) {
                        var imagen = 'img/logo-cars/' + data.facet_counts.facet_fields.manufacturer[i] + '-logo-small.gif';
                        var dataImg = document.createElement('img');
                        $(dataImg).attr('src', imagen).attr('id', data.facet_counts.facet_fields.manufacturer[i]);
                        //          }
                        $('#cars').append(dataImg);

                    }
                    }
                },
                error: function (data) {
                    alert("ccc");
                }
                });
            }