簡體   English   中英

AJAX發布未在jQuery 1.9.1中返回xml數據

[英]AJAX post not returning xml data in jQuery 1.9.1

在將CTF記分板從舊版jQuery遷移到2.0.2版時,我注意到jQuery post函數似乎沒有檢索xml數據。 該代碼在1.8.3中可以正常工作,但在1.9.1中無法運行。 有沒有解決此問題而不使用jQuery遷移?

form.submit
(
    function()
    {
        $.post
        (
            'ajax.php?m=login',
            {
                'username': $( '#username' ).attr( 'value' ),
                'password': $( '#password' ).attr( 'value' ),
                'token': token
            },
            function( xml )
            {
                switch( $( xml ).find( 'code' ).text() )
                {
                    case '1':
                        login();
                        clear_mainframe( false );
                        break;

                    case '2':
                        toggle_color( $( '#header' ), 'orange' );
                        break;

                    case '3':
                        toggle_color( $( '#header' ), 'red' );
                        break;
                }
            }
        );

        return false;
    }
);

您可以使用$.posthttps://api.jquery.com/jQuery.post/ )的第4個參數告訴jQuery哪種類型的數據返回。 jQuery使用的啟發式方法可能已更改。

您還應該在瀏覽器(開發人員工具欄)中檢查從服務器返回的原始響應是什么。 不管是jQuery的問題,還是解析響應的方式,或者服務器甚至沒有返回XML開頭,這都將消除差異。

我終於發現是在弄亂腳本。 較新版本中的.attr()僅檢索屬性。 我改為將它們更改為.prop(),並且效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM