所以我有點被這個難住。我有多個頁面,使用各種數據在後端對我的C#控制器進行了大量成功的Ajax調用,但現在我正在嘗試構建一個簡單的小內容管理功能,並因此更新數據庫中的HTML來自JS編輯器的新HTML。我已經拿出了所有沉重的數據庫代碼,並將其縮小到這樣的事實,即我的控制器不會接受任何有關html標記的事情,或者我的ajax代碼無法發送它。通過AJAX調用將HTML傳遞給C#MVC控制器。 500錯誤
Ajax的功能是:
$.ajax({
type: "POST",
url: '@Url.Action("UpdateContent", "Admin")',
data: {
elementId: elementId,
newContent: newContent
},
dataType: "json",
success: function (data) {
if (data.result == 'true') {
infoMessage('Content Updated!', 'success');
} else {
infoMessage('Error: ' + data.result + '. Nothing has been updated!', 'error');
}
},
error: function() {
alert('There was a problem contacting the server.');
}
});
而且在我的控制端,我帶走了所有的代碼只留下一些調試寫入線。
[HttpPost]
public ActionResult UpdateContent(string elementId, string newContent)
{
System.Diagnostics.Debug.WriteLine("!" + elementId);
System.Diagnostics.Debug.WriteLine("!" + newContent);
string _result = "true";
return Json(new { result = _result });
}
現在有趣的事情是,當我在Ajax請求設置類似的東西<p>hello</p>
的data
paramater有newContent
那些writelines甚至不被調用,整個AJAX調用失敗。然而,當我只使用普通的字符串,例如hello
它工作正常。我已經進一步縮小到只是開頭的html括號,所以即使<p
也會失敗。
記住這一點,這裏發生了什麼?其次,通過Ajax將html發送回控制器的正確方法是什麼?所以這不會發生?
500是內部服務器錯誤。調試沒有顯示任何異常? –