var sc = new Array();
var i =0;
el.find(".colorable").each(function () {
sc[i++] = $(this).attr("src");
});
$.post("/Edit/ChangeImageColor", { src : sc , s: source, t: target }, function () {
alert("done");
});
我正在尝试将数组( sc )
传递给服务器,但它在src中显示为null
public JsonResult ChangeImageColor(string[] src, string s, string t)
{
有人能告诉我我错过了什么吗?
答案 0 :(得分:2)
如果您使用的是ASP.NET MVC 3,则可以将其作为JSON请求发送:
var sc = new Array();
var i = 0;
el.find(".colorable").each(function () {
sc[i++] = $(this).attr("src");
});
$.ajax({
url: '/Edit/ChangeImageColor',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ src: sc, s: source, t: target }),
success: function() {
alert("done");
}
});
如果您使用的是旧版本的ASP.NET MVC,您可以查看following blog post,其中说明了如何集成自定义json提供程序工厂,允许您将JSON请求发送到控制器操作。
答案 1 :(得分:0)
尽管您的(可能是服务器端)参数传递错误,但我认为您可能会觉得这很有用:
var sc = el.find(".colorable").map(function() {
return this.src;
}).get();
这是一种收集数组中元素集属性的简单方法。
答案 2 :(得分:0)
尝试按以下方式更改操作方法
public JsonResult ChangeImageColor(IEnumerable<string> src, string s, string t)
{