从 javascript 获取 MVC 控制器中的操作参数时出错
Error in getting action parameter in MVC controller from javascript
我需要将值从javascript传递给我的控制器操作。
$.getJSON('/gallery/PublishImage', { imageid: itemsarray }, function (mydata) {
});
在javascript中,它有一个值。在控制器上,它为空
public ActionResult PublishImage(string imageid)
{
var mydata = imageid;
return Json(mydata,JsonRequestBehavior.AllowGet);
}
如何解决这个问题。
我的整个代码是:
function publish() {
debugger;
var $trash = $("#trash li");
var itemsarray = [];
var lis = document.getElementById("trash").getElementsByTagName("li");
for (var i = 0; i < lis.length; i++) {
var item = lis[i].children[0].id;
itemsarray.push(item);
}
$.getJSON('@Url.Action("PublishImage")', { imageids: itemsarray }, function (mydata) {
});
在控制器中
public ActionResult PublishImage(string[] imageids)
{
var mydata = imageids;
return Json(mydata,JsonRequestBehavior.AllowGet);
}
但是在上面的代码中也返回null。有什么遗漏吗?
鉴于这个javascript变量的名称,我强烈怀疑itemsarray
不是字符串,而是某种javascript对象(数组?)。它必须是字符串才能正常工作:
var itemsarray = 'foo bar';
$.getJSON('/gallery/PublishImage', { imageid: itemsarray }, function (mydata) {
});
如果你想发送一个数组,那么你可以这样做:
var itemsarray = ['foo', 'bar', 'baz'];
$.getJSON('/gallery/PublishImage', { imageids: itemsarray }, function (mydata) {
});
和控制器操作:
public ActionResult PublishImage(string[] imageids)
{
var mydata = imageids;
return Json(mydata, JsonRequestBehavior.AllowGet);
}
相关文章:
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 从 javascript 获取 MVC 控制器中的操作参数时出错
- 使用参数从视图中调用操作
- 无法使用angularjs$http请求将参数发送到服务器操作方法
- 将参数从anchor标记发送到struts2操作
- 在Struts2中将参数从视图传递给操作
- 选择菜单的操作中的成员2参数
- JS 函数将对象作为输入,并返回一个对象,该对象对作为参数传递的对象执行操作
- 将java脚本变量传递给相同的表单操作php文件参数
- jQuery:$.ajax() 重定向到其 URL 表单操作参数,而不是对表单操作执行 AJAX 请求
- 控制器操作参数未从 AJAX 开机自检正确填充
- 将参数从 JavaScript 中的剑道窗口刷新传递给控制器操作
- Ajax 无法使用带有 2D 数组参数的 C# 控制器操作
- ajax 调用控制器操作,将对象作为参数
- 如何访问由 javascript 中的操作传递的参数
- 调用 Struts2 操作,每个 jQuery DataTable 行中的参数
- 余烬使用计算属性作为操作参数
- JavaScript - 在哪些操作之后需要 toFixed() 以及应该传递什么参数
- 如何将参数传递给在 JQuery dialog() Open 事件上调用的操作
- Web API 控制器操作参数始终为 null