我使用AJAX將div
的內容發佈到我的C#mvc控制器。 阿賈克斯後看起來是這樣的:AJAX「發佈」發佈html元素時的問題
$.ajax({
url: '/Home/SaveContent',
type: 'POST',
data: {
model: modelDataJson,
activeId: activeId,
contentToUpdate: $("div#" + activeId).html()
},
dataType: 'json',
success: function (data) {
alert("Content hits controller. Id: " + activeId);
},
error: function() {
alert("error");
}
});
我使用的是所見即所得的編輯器是一個id一個div:activeId
。 所以我想要發佈是這一行:contentToUpdate: $("div#" + activeId).html()
這低於這個div:
<div id="WelcomeText" data-photo="15" class="click2edit" style="display: block;">
som content here
</div>
如果我發佈此上面我的C#-controller法被擊中,一切工作。
但如果我張貼此以下時,error: function() { alert("error");}
被擊中:
<div id="WelcomeText" data-photo="15" class="click2edit" style="display: block;">
<p>som content here</p>
</div>
所以我的問題是:爲什麼不包括當沒有崗位工作HTML?我錯過了什麼,好像contentToUpdate: $("div#" + activeId).html()
不包括子元素?
ASP.NET在某一時刻擁有一個反XSS過濾器,可阻止包含看起來像HTML的東西的請求。你沒有遇到過這樣的事情,是嗎? – 2014-09-03 20:46:00