Jquery 确保web api控制器返回有效的HTML
我认为我的WebAPI2控制器正在返回JSON或某种类型的XML。我已经调试了我的游戏并逐步完成了程序,在VisualStudio中一切看起来都很好 但是,当我的ajax方法通过控制器获取数据时,除了一组额外的引号外,每个引号前面都有一个斜杠,如下所示:Jquery 确保web api控制器返回有效的HTML,jquery,vb.net,asp.net-web-api2,asp.net-ajax,Jquery,Vb.net,Asp.net Web Api2,Asp.net Ajax,我认为我的WebAPI2控制器正在返回JSON或某种类型的XML。我已经调试了我的游戏并逐步完成了程序,在VisualStudio中一切看起来都很好 但是,当我的ajax方法通过控制器获取数据时,除了一组额外的引号外,每个引号前面都有一个斜杠,如下所示: <img id="\"12345\"" title="\"monster1\"" src="\"https://xxx.cloudfront.net/bucket/monster1.jpg\"" width="\"200\"" he
<img id="\"12345\"" title="\"monster1\""
src="\"https://xxx.cloudfront.net/bucket/monster1.jpg\"" width="\"200\""
height="\"200\"" />
在我的页面中,我的ajax函数使用:
<script>
$(document).ready(function () {
$.ajax({
url: '/api/monsterPhoto/' + monsterID,
method: 'GET',
dataType: 'html',
success: function (data) {
$("#monster").html(data);
},
fail: function (jqXHR, textStatus) {
alert("Request failed: " + textStatus);
}
});
});
$(文档).ready(函数(){
$.ajax({
url:'/api/monsterPhoto/'+monsterID,
方法:“GET”,
数据类型:“html”,
成功:功能(数据){
$(“#怪物”).html(数据);
},
失败:函数(jqXHR,textStatus){
警报(“请求失败:+textStatus”);
}
});
});
所以我的问题是,如何防止我的控制器像那样转义引号并返回有效的html
谢谢 字符串中的双引号正在被转义,尽管它不应该引起问题:@rorymcrossan抱歉,它在斜杠之外添加了一个额外的引号。我已经更新了我的问题。谢谢您遇到问题是因为在看到此行为时?URL使用
HttpUtility.URLEncode
方法对html进行编码。当您在回调中得到它时,使用Javascript中的decodeURIComponent
方法对其进行解码。没有编码就无法发送HTML。@trevster344谢谢,这很有效。
Public Function GetValue(ByVal id As String) As String
Dim monsterFactory As New MonsterFactory
Return monsterFactory.returnMonsterImageTag(id)
End Function
<script>
$(document).ready(function () {
$.ajax({
url: '/api/monsterPhoto/' + monsterID,
method: 'GET',
dataType: 'html',
success: function (data) {
$("#monster").html(data);
},
fail: function (jqXHR, textStatus) {
alert("Request failed: " + textStatus);
}
});
});