我在一個mvc程序上工作,點擊一個按鈕後,我將TextArea內的數據發送到控制器。通常,我的代碼按預期工作,但當TextArea中的數據由基於html的數據組成時,情況並非如此。當發送數據爲html數據時發送ajax請求
HTML代碼:
<textarea id="bodyInfo"> </textarea>
<button onclick="Submit()" id="submitInfo">Create Notification</button>
ajax:
function Submit() {
$.ajax({
url: '@Url.Action("GetResults", "notification")',
type: 'GET',
data: { body: $('#bodyInfo').val()),
cache: 'false',
dataType: 'html',
success: function (result) {
$('#resultsTblInfo').html(result);
}
});
return false;
}
文本區域數據的樣本實施例:
<table style="width:100%">
<tbody>
<tr>
<td class="ellipses-title" style="color:#22557f;font-size:15px;font-weight:bold;margin-bottom:10px;margin-top:7px;border-right:1px solid #BFF1FD;text-align:right;padding-right:15px;"> The New Admin is Coming</td>
<td class="ellipses-text" style="padding-left:15px;" valign="center">Hello<br> Hello2</a>.
</td>
</tr>
</tbody>
</table>
什麼上面看時的TextArea不是HTML數據,但原始文本的工作,但如果它是HTML數據會失敗。
我能夠通過使用
「encodeURIComponent方法($( '#bodyInfo')。VAL())」 的,而不是使這項工作 「$( '#bodyInfo')。VAL()」
在控制器端,做
「body = HttpUtility.UrlDecode(body)」;
是否有更好的選擇來實現相同的目標?我是否使用encodeURIComponent反對其預期的本質?爲什麼$('#bodyInfo')。val()在通過ajax傳遞html值時不起作用?如果這個問題是重複的,我將不勝感激,如果有人可以提供給我一個鏈接(我試圖通過谷歌搜索,但沒有找到滿意的答案)