2011-10-08 88 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.'<--'; 

感谢您的帮助!