Ajax 已加载部分视图未呈现

Ajax loaded partial view not rendering

我正在调用 ajax 来检索部分视图并将其放入 div。

$.ajax({
    url: '@Url.Action("GetPartial", "ControllerName")',
    type: 'GET',
    success: function (data) {
        $('#myDiv').html(data);
    }
});

但是,当我有 $('#myDiv').html(data); 时,#myDiv 没有得到任何 html 但是当我尝试这个时:

$.ajax({
    url: '@Url.Action("GetPartial", "ControllerName")',
    type: 'GET',
    success: function (data) {
        $('#myDiv').html("<div>Whatever</div>");
    }
});

div 按预期填充了 <div>Whatever</div>。所以这里是 data 变量的内容:

<tr>
    <input type="radio" style="margin-right: 10px" name="credit-card" value="fjxtnw" checked />
    <strong>555555******4444</strong> (MasterCard)
    <label style="color: #808080; font-size: small">(default)</label>
    <span id="fjxtnw" class="delete_pm"><label style="color: darkred; font-size: small; margin-left: 5px">delete</label></span>
</tr>
<br />
<br />
<tr>
    <input type="radio" style="margin-right: 10px" name="credit-card" value="9rmqsw" />
    <strong>411111******1111</strong> (Visa)
    <span id="9rmqsw" class="delete_pm"><label style="color: darkred; font-size: small; margin-left: 5px">delete</label></span>
</tr>
<br />
<br />

但是什么都没有渲染。

有什么想法吗?

尝试$('#myDiv').html(data.d);

或者测试一个console.log(data)看对象来了..

您返回的部分视图格式不正确 table HTML 所以它应该是这样的

<table>
    <tr>
<td>
        <input type="radio" style="margin-right: 10px" name="credit-card" value="fjxtnw" checked />
        <strong>555555******4444</strong> (MasterCard)
        <label style="color: #808080; font-size: small">(default)</label>
        <span id="fjxtnw" class="delete_pm"><label style="color: darkred; font-size: small; margin-left: 5px">delete</label></span>
</td>
        </tr>
        <tr>
<td>
            <input type="radio" style="margin-right: 10px" name="credit-card" value="9rmqsw" />
            <strong>411111******1111</strong> (Visa)
            <span id="9rmqsw" class="delete_pm"><label style="color: darkred; font-size: small; margin-left: 5px">delete</label></span>
</td>
        </tr>

</table>

那么你的jquery就可以

$('#myDiv').html(data);

或者如果您已经有一个 table HTML,您只想在其中插入您可以做的行...删除 "table" 标签并更新 jquery 为:

$("#myTable").append(data);