我通过使用li
发布到我的MVC应用程序中的操作方法来响应$.post
的点击。
我想在Json发回一个链接。
我可以将此链接呈现为html而不是文本吗?怎么样?
我试过这个,只是为了测试html:
var link = "<b>Hi</b>";
var encoded = Server.HtmlEncode(link);
以<b>Hi</b>
当然我只能使用Json.encode或visual studio方法,我不需要自己格式化吗?有相当广泛的google搜索,无法找到有关Json.encode的任何信息
var link = "<b>Hi</b>";
var encoded = new JavaScriptSerializer().Serialize(link);
呈现的页面"\u003cb\u003eHi\u003c/b\u003e"
如果我只发送link
变量,即:
var link = "<b>Hi</b>"
<b>Hi</b>
呈现
这是将其发回的行:
return Json(new {Title = pTitle, Selection = pSelection, Link = pLink}, JsonRequestBehavior.AllowGet);
开始变得沮丧,wtf!
愚蠢的我,我没有在问题出现的地方发布足够的代码:
<script type="text/javascript">
function TreeView_onSelect(e) {
...
$.post(url, id, function (data, textStatus) {
...
$("#panel-link").text(data.Link);
}
$("#panel-link").text(data.Link);
obv必须是
$("#panel-link").html(data.Link);
答案 0 :(得分:2)
尝试使用JavaScriptSerializer:
var link = "<b>Hi</b>";
var encoded = new JavaScriptSerializer().Serialize(link);
答案 1 :(得分:0)
尝试使用javascript encodeURI()函数。
http://www.w3schools.com/jsref/jsref_decodeuri.asp
<script type="text/javascript">
var uri="mytest.asp?name=ståle&car=saab";
document.write(encodeURI(uri)+ "<br />");
document.write(decodeURI(uri));
</script>
上面代码的输出将是:
mytest.asp?name=st%C3%A5le&car=saab
mytest.asp?name=ståle&car=saab
答案 2 :(得分:0)
我和你有同样的问题并且整天杀了我, 我使用Json.NET
解决了这个问题示例代码为:
Newtonsoft.Json.JsonConvert.SerializeObject(link);