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);
我正在调用 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);