我正在使用ace编辑器在浏览器上启用代码编辑。现在,当用户点击它时有一个保存功能我使用ajax请求将代码从编辑器发送回服务器。但是我在检查浏览器的控制台时遇到内部服务错误。
Ajax客户端代码
$('#save-button').click(function () {
$.post('/CodeEditor/SaveFile',
{
'file': $('#current-file').val(),
'content': editor.getValue()
}, function () {
},
'JSON');
});
Ajax服务器代码
[HttpPost]
public ActionResult SaveFile(string file, string content)
{
return null;
}
以下是我在内容参数
中通过Ajax提交的文件内容@model IList<ShopifyHome.Models.TemplatePartial>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>ModifyTemplate</title>
<link rel="stylesheet" type="text/css" href="../../Content/aciTree /css/aciTree.css" media="all" />
<link rel="stylesheet" type="text/css" href="../../Content/aciTree/css/demo.css" media="all" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
@*<script type="text/javascript" src="../../Content/aciTree/js/jquery.min.js"></script>*@
<script type="text/javascript" src="../../Content/aciTree/js/jquery.aciPlugin.min.js"></script>
<script type="text/javascript" src="../../Content/aciTree/js/jquery.aciTree.core.js"></script>
<script type="text/javascript" src="../../Content/aciTree/js/jquery.aciTree.selectable.js"></script>
<script type="text/javascript" src="../../Content/aciTree/js/jquery.aciTree.checkbox.js"></script>
<script type="text/javascript" src="../../Content/aciTree/js/jquery.aciTree.radio.js"></script>
<style type="text/css">
#frame-div
{
}
#style-div
{
width:250px;
float:right;
height:50%;
margin: auto auto; ...
当文件内容像
一样简单时,请求会通过并在服务器端收到This is text
答案 0 :(得分:0)
终于开始工作了。不得不对html进行编码,然后在服务器端对其进行解码。
客户端代码
$.post('/CodeEditor/SaveFile',
{
'file': $('#current-file').val(),
'content': encodeURIComponent(editor.getValue())
},
function () {
},
"JSON");
服务器代码
[HttpPost]
public ActionResult SaveFile(string file, string content)
{
content = HttpUtility.UrlDecode(content);
}