【发布时间】:2018-05-22 11:48:30
【问题描述】:
我有以下将数据发送到控制器的 jquery 函数:
function bound(e) {
var ele = document.getElementsByClassName("e-grid")[0]
ele.addEventListener('click', function (e) {
if (e.target.classList.contains('e-up')) {
var grid = document.getElementById('FlatGrid').ej2_instances[0]; //Grid Instance
var rowObj = grid.getRowObjectFromUID(ej.base.closest(e.target, '.e-row').getAttribute('data-uid'));
var data = rowObj.data;
//alert(JSON.stringify(data));
var code = data.ClientCode;
$.ajax({
type: "POST",
url: "/Client/ShowClient",
data: { "ClientCode": code }, //First item has latest ID
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.length !== 0) {
console.log(data);
}
},
error: function (data) {
console.log(data);
}
});
}
});
}
还有我的控制器方法:
[HttpPost]
public ActionResult ShowClient(string ClientCode)
{
if (ClientCode == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
*action*
}
但是,我收到了 500(内部服务器错误)错误。知道我缺少什么,因为我的方法根本没有受到影响。 而且我可以看到 var 代码确实具有正确的字符串值。
【问题讨论】:
-
去掉
contentType: "application/json; charset=utf-8",选项 -
你可以试试直接像数据一样传递代码值吗:JSON.stringify(code)
-
您能否提供有关 500(内部服务器错误)的更多信息?
-
您是否尝试过在客户端调试您的应用程序?打开你的开发者工具,在网络标签中查看 500 错误的内容。
-
尝试用
'@Url.Action("ShowClient", "ControllerName")'替换你的url参数。使用您的控制器名称。
标签: c# ajax asp.net-mvc