jqueryajax响应带html标记

jqueryajax响应带html标记,html,ajax,tags,response,strip,Html,Ajax,Tags,Response,Strip,我有一个javascript/jquery函数,它应该用同一行的编辑模式版本替换表中的一行。它在行上按钮的onclick事件中激发,代码的简化验证将是: function EditRow(itemID) { editable_row = getUrl('row.php?action=' + 'edit' + '&itemID=' + itemID ); $('[row_itemID=' + itemID + ']').html(editable_row); } …row_i

我有一个javascript/jquery函数,它应该用同一行的编辑模式版本替换表中的一行。它在行上按钮的onclick事件中激发,代码的简化验证将是:

function EditRow(itemID) {
   editable_row = getUrl('row.php?action=' + 'edit' + '&itemID=' + itemID );
   $('[row_itemID=' + itemID + ']').html(editable_row);
}
…row_itemID是该行的TR标记的属性。。。如[tr row_itemID=27]

function getUrl(addr) {
   var r = $.ajax({ type: 'GET', url: addr, async: false, dataType: "text" }).responseText; return r;
}        
我也尝试过将dataType:设置为“html”或完全忽略它

php应该返回该行内容的编辑模式版本,但是由于某种原因,TD标记在这个过程中似乎被剥离了,可能$.ajax函数认为响应包含TD,而TR无效

row.php?action=edit&itemID=27的视图源显示TD,alerteditable_row;,但是警报$'[row_itemID=27]'.html;没有

row.php代码的简化版本:

<?php 
if ($_GET['action'] == 'edit') {
   $item = ItemDataAccess::Read($_GET['itemID']);
?>
   <td><input type="text" name="itemID" value="<?php echo $item->itemID ?>" /></td>
   <td><input type="text" name="name" value="<?php echo $item->name ?>" /></td>
   <td><input type="text" name="description" value="<?php echo $item->description ?>" /></td>
<?php
}
?>

现在有人知道如何让它在TR标记中插入一个纯html响应了吗?

您真的编写了一个关于$.ajax的包装器吗?你错过了吗?还有,您使用async:false而不是回调,为什么

function EditRow(itemID) {
   $('[row_itemID=' + itemID + ']').load('row.php?action=' + 'edit' + '&itemID=' + itemID);
}

就这样。

包装纸是别人写的;尽管如此,我还是尝试了get和load两种方法,但两种方法似乎都能去除TR。还有什么想法吗?等一下。少了什么-s还是s?我在PHP中没有看到任何输出s的东西,只有s是正确的。。。调用页面已经有TR,其中加载的TD将被插入其中。TD在插入到TRU过程中丢失,$'[row_itemID='+itemID+']'长度是多少?如果为零,则页面上根本不存在此类元素,因此需要先创建一个;在将HTML片段插入文档之前,不会显示任何内容。这是因为$'[row_itemID=27]'搜索文档-它不会神奇地知道如何搜索HTML片段。啊,好的,谢谢。我认为这是我的观点,当插入文档时,TD标签会丢失