1

嗨伙计们,我正在用 jquery 进行一些测试,特别是 ajax 调用。

$('#jsonpbtn').click(function() {
        $('#text').html('AJAX Call executing......');
        $.ajax({
            url : 'http://zip.elevenbasetwo.com/v2/US/10010',
            type : 'GET',
            success : function(data) {
                console.log(data.city);
                $('#jsonparea').html(data.city);
                $('#text').html('Ajax Call ended');
            },
            error : function(xhr, status) {
                alert(status);
            },

        });


    });

json 响应是 {city: "New York City", state: "New York" ,country: "US"}

用google chrome 一切功能都很好,其实$('#jsonparea').html(data.city) 写的是纽约市的div 区。使用 firefox 我有一些问题,实际上没有写入 div 区域,调用 alert(data.city) 我有未定义的值。

4

1 回答 1

1

为您的 ajax 选项提供 dataType 以确保 jQuery 正确检测到 dataType。

$('#jsonpbtn').click(function() {
    $('#text').html('AJAX Call executing......');
    $.ajax({
        url : 'http://zip.elevenbasetwo.com/v2/US/10010',
        type : 'GET',
        dataType: "json", // <---- HERE
        success : function(data) {
            console.log(data.city);
            $('#jsonparea').html(data.city);
            $('#text').html('Ajax Call ended');
        },
        error : function(xhr, status) {
            alert(status);
        },

    });

});

现在,如果您的 json 与您在上面发布的完全一样,您将收到一个 parseError,因为它不是有效的 JSON,尽管我怀疑它实际上是有效的,因为它在 chrome 中工作。

于 2013-04-23T15:24:30.417 回答