jQuery美元.Firefox中的ajax错误:"无法转换JavaScript参数"

jQuery $.ajax error in Firefox: "Could not convert JavaScript argument arg 0"

本文关键字:quot 转换 JavaScript 参数 美元 Firefox ajax 错误 jQuery 中的      更新时间:2023-09-26

我已经发现了这个问题,但我在这里发布是因为它可能对其他人有用。

$.ajax({
  url: url,
  dataType: 'html',
  success: function(data) {
    var newRow = $(data).hide();
    newRow.slideDown();    
});

我的ajax响应看起来像这样:

<li class="clearfix">
  <!-- snip -->
</li>
<li class="dock-row">
  <!-- snip -->
</li>

给出错误的那行是:

var newRow = $(data).hide();

您需要先将数据添加到页面:

$.ajax({
  url: url,
  dataType: 'html',
  success: function(data) {
    $('<div id="myid" style="display:none;"></div>').prependTo($('body'));
    $('#myid').html(data)
    $('#myid').slideDown();    
});

第一个注释后更新

你的代码相当于这样做:

$.ajax({
  url: url,
  dataType: 'html',
  success: function(data) {
    var newRow = $('<li class="clearfix">'r'n<!-- snip -->']r'n</li>'r'n<li class="dock-row">'r'n<!-- snip -->'r'n</li>').hide();
    newRow.slideDown();    
});

FF没有抛出异常并不意味着代码是正确的