我有一个要求,需要将 div 标签的所有 HTML 传递给 Controller 。 我能够获取 HTML,但是当我通过 ajax 传递 HTML 时代码失败。
这是我的代码。
查看:
function abc() {
var html = $("#div").html();
data = {
Html: html
};
$.ajax({
url: '@Url.Action("DisplayResult", "Default")', //
data: data,
type: "POST",
contentType: "application/json; charset=utf-8",
success: function(result) {
//do something
});
},
error: function(xhr) {
alert("error");
}
});
}
我的 Controller 操作方法:
[HttpPost]
public FileResult DisplayResult(string Html)
{
return null;
}
我在网上搜索并找到了一些相关的帖子,但这些帖子讨论的是不同的解决方案,例如使用 Html.Beginform()
和提交按钮 - 但这些解决方案都不适合我的需要。
最佳答案
您有 JavaScript 错误,并且您的调用是错误的,您需要对数据进行字符串化。
function abc() {
var html = $("#div").html();
var dataToSend = JSON.stringify({ 'Html': html });
$.ajax({
url: '/Home/DisplayResult', //
data: dataToSend,
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (result) {
// Do something
},
error: function(xhr) {
alert("error");
}
});
}
我在 HomeController 中有这个:
[HttpPost]
public FileResult DisplayResult(string Html)
{
return null;
}
关于javascript - 通过 ajax 调用将 Html 字符串从 View 传递到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52211199/