2014-02-28 73 views
1

我使用的腳本使用jQuery獲得通過JavaScript AJAX數據:如何從另一個頁面

$(document).ready(function() { 
    var button; 
    var line; 
    var inputs; 
    var params = {}; 
    var updatefield; 
    $('button.update').click(function() { 
     button = $(this); 
     params['button'] = button.val(); 
     line = button.closest('.line'); 
     updatefield = line.find('td.resultFromGet'); 
     inputs = line.find('input'); 
     inputs.each(function (id, item) { 
      switch($(item).attr('type')){ 
       case 'checkbox':{ 
        params[$(item).attr('name')] = new Array($(item).is(':checked')); 
        break; 
       } 
       default:{ 
        params[$(item).attr('name')] = new Array($(item).attr('value')); 
        break; 
       } 
      } 
     }); 
     //alert(JSON.stringify(params, null, 4)); 
     $.get('core/ajax/correct_exec.php', params) 
      .done(function (data){ 
       if(data == '1'){ 
        $(updatefield).html('UPDATE_RECORD_SUCCESS'); 
       } else { 
        $(updatefield).html(data); 
       } 
      }); 
    }); 
}); 

我得到的頁面是由PHP在成功的情況下做echo '1';。 我試圖用data == 1進行測試,但即使成功,它也不起作用。實際上,它給我發送$(updatefield).html(data);1。那麼爲什麼不能只打印UPDATE_RECORD_SUCCESS

+2

'updatefield'已經是一個jQuery對象,所以你可以這樣做:'updatefield.html( 'UPDATE_RECORD_SUCCESS');' – Alex

+1

嘗試'的console.log(數據);' – akonsu

+1

也嘗試'控制檯.log(typeof data)' – wizulus

回答

2

data響應是用空白來的,如果你用trim()這樣的函數,那麼應該執行if這個條件。

if(data.trim() == '1'){ 
    $('#updatefield').html('UPDATE_RECORD_SUCCESS'); //this should be executed 
} else { 
    $('#updatefield').html(data); 
} 

在這裏你可以在chrome調試器中看到data的空間。

enter image description here

+0

嗨,你是如何設法在Chrome調試器中看到這個的?我使用了一個console.log(數據),但是我沒有看到顯示EOL返回的小箭頭。 – user2040597

+0

爲此,您將不得不使用斷點行if(data =='1'){',有關斷點的信息,請參閱https://developers.google.com/chrome-developer-tools/docs/javascript-debugging #breakpoints。 –

相關問題