我正在进行ajax调用以检索部分视图并放入div。
$.ajax({
url: '@Url.Action("GetPartial", "ControllerName")',
type: 'GET',
success: function (data) {
$('#myDiv').html(data);
}
});
但是,当我#myDiv
时$('#myDiv').html(data);
没有获得任何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 />
但没有任何东西被渲染。
有什么想法吗?
答案 0 :(得分:0)
尝试$('#myDiv').html(data.d);
或者测试console.log(data)
以查看对象即将来临......
答案 1 :(得分:0)
您要返回的局部视图格式不正确,因此它应该是这样的
<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);
或者如果你已经有一个表HTML,你只想插入你可以做的行...删除“table”标签并将jquery更新为:
$("#myTable").append(data);