我有以下 jQuery 设置每个(空)DIV 的内容(具有以字母字符开头的唯一 id),其具有 class ='editable'。我正在使用带有 GET 方法的 MVC4 api 控制器来返回 HTML 字符串。
出于某种原因,下面的 loadStuff 函数正在输出可以在返回内容之前和之后在网页中看到的引号。这发生在每个 DIV 上,并且绝对不会在返回字符串的 api 控制器方法中返回。
$(document).ready(function () {
$('.editable').each(function () {
var curId = this.id.replace('content', '');
loadStuff(curId, this.id);
})
});
function loadStuff(curId, targetId) {
$('#' + targetId).load('api/briefingItem/' + curId);
}
但是,当我用下面的代码替换 loadStuff 函数并使用 .appendTo 时,引号不会出现。
function loadStuff(curId, targetId) {
$.getJSON("api/briefingItem/" + curId,
function (data) {
$(data).appendTo('#' + targetId);
})
}
对于返回一个简单的字符串和文档建议,这似乎有点过头了。谁能解释这种不寻常的行为?
API 控制器
// GET api/BriefingItem/5
public string Get(int id)
{
string newVal = string.Empty;
switch (id)
{
case 12:
newVal = @"<p>this is some example text that you can edit inside the <strong>tinymce editor</strong>.</p><p>nam nisi elit, cursus in rhoncus sit amet, pulvinar laoreet leo. nam sed lectus quam, ut sagittis tellus. quisque dignissim mauris a augue rutrum tempor. donec vitae purus nec massa vestibulum ornare sit amet id tellus. nunc quam mauris, fermentum nec lacinia eget, sollicitudin nec ante. aliquam molestie volutpat dapibus. nunc interdum viverra sodales. morbi laoreet pulvinar gravida. quisque ut turpis sagittis nunc accumsan vehicula. duis elementum congue ultrices. cras faucibus feugiat arcu quis lacinia. in hac habitasse platea dictumst. pellentesque fermentum magna sit amet tellus varius ullamcorper. vestibulum at urna augue, eget varius neque. fusce facilisis venenatis dapibus. integer non sem at arcu euismod tempor nec sed nisl. morbi ultricies, mauris ut ultricies adipiscing, felis odio condimentum massa, et luctus est nunc nec eros.</p>";
break;
case 13:
newVal = @"<p>look up $(content).load() jquery method and the callback function.</p>";
break;
default:
newVal = @"<h3>click to enter content.</h3>";
break;
}
return newVal;
}