[英]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;
}
);
您可以使用$.post
( https://api.jquery.com/jQuery.post/ )的第4個參數告訴jQuery哪種類型的數據返回。 jQuery使用的啟發式方法可能已更改。
您還應該在瀏覽器(開發人員工具欄)中檢查從服務器返回的原始響應是什么。 不管是jQuery的問題,還是解析響應的方式,或者服務器甚至沒有返回XML開頭,這都將消除差異。
我終於發現是在弄亂腳本。 較新版本中的.attr()僅檢索屬性。 我改為將它們更改為.prop(),並且效果很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.