2011-10-08 86 views
0

我在json響應中遇到了javasciprt代碼的問題。jSON響應中的JavaScript代碼(jQuery)

的迴應是:

$return['msg'] = '<a onClick = "delComment(comment_'.$number.', '.$number.', '.$comment_id.')" href="javascript:void()" style="float: right; padding-right: 5px;">'.SayLang::json('COMMENT_DELETE').'</a>'; 

delComment功能:

function delComment(div_id, comment_number, comment_id) { 
$(document).ready(function() { 
    if (logged_in == null) var logged_in = false; 
    if (admined == null) var admined = false; 
    if (confirm('Biztosan törölni szeretnéd a hozzászólást?')) { 
     $('#ajax-json-response').fadeOut('fast').html(''); 
     $('#ajax-loading-content').html('<img src="images/ajax-loader.gif" />').fadeIn('slow'); 
     $.ajax({ 
      type: 'POST', 
      url: 'json.php', 
      dataType: 'json', 
      cache: false, 
      timeout: 100000, 
      data: { a: 'comment_delete', div_id: div_id, comment_number: comment_number, comment_id: comment_id }, 
      success: function(data) { 
       $('#ajax-loading-content').fadeOut(1).html(''); 
       $('#ajax-json-response').html(data.message).fadeIn('slow'); 
       if (!data.error) { 
        $('input#number').val(data.newnumber); 
        $('#'+div_id).toggle('slow'); 
        if (data.newnumber == 0) { 
         $('#no-comment').fadeIn('slow'); 
        } 
       } 
      }, 
      error: function(jqXHR, textStatus, errorThrown) { 
       $('#ajax-loading-content').fadeOut(1).html(''); 
       //$('#ajax-json-response').html('Probléma történt! Kérlek próbáld újra később! (HTTP Error: '+errorThrown+' | Error Message: '+textStatus+')').fadeIn('slow'); 
       $('#ajax-json-response').html('Probléma történt! Kérlek próbáld újra később!').fadeIn('slow'); 
      } 
     }); 
    } 
}); 

}

後,我點擊鏈接,瀏覽器崩潰和Mozilla沒有做任何事情。

什麼問題,或者我該怎麼辦?

在此先感謝:馬塞爾

+0

不知道爲什麼你只有''onclick''函數中有'$(document).ready()'。 '$(document).ready()'的目的是確定DOM是否已經加載,並且鏈接被點擊 - 它必須是。 –

+1

迄今爲止,響應無效。你用json_encode()輸出(假設php)? –

+0

你能給我們控制檯的錯誤信息嗎? Chrome中的Ctrl + Shift + J –

回答

0

你的PHP變量是$return['msg'],但你叫data.message在JavaScript會是它?你也可以用$(document).ready(function() {來包裝你的內在功能,這是完全不必要的,試着去掉它。

+0

這是我的PHP中的「消息」,我只複製了一個壞行,並且我已經刪除了DOM準備好的行,但它仍然不行。控制檯只顯示「錯誤」 – Skylineman

+0

螢火蟲說:「comment_3未定義」或「comment_1」等... – Skylineman

0

好的,我發現了這個問題。

它是無效的:

$return['message'] = '<a onClick = "delComment(-->comment_'.$number.'<--'; 

感謝您的幫助!