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

jQuery が dataType を適切に検出できるように、ajax オプションに 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が上に投稿したとおりである場合、それは有効なJSONではないため、parseErrorが発生しますが、chromeで機能したため、実際には有効であると思われます。

于 2013-04-23T15:24:30.417 に答える