我正在尝试在回发操作中发送byte[]
,但未能得到它。
代码段:
$.ajax({
url: proxy.Model.RequestParamUrl,
type: "Post",
async: false,
data: proxy.requestArgs,
dataType: 'json',
success: function (Jsondata) {
proxy.allowPost = false;
proxy.postSucceed = true;
//hidden code
return true;
}
});
调试时,我可以在byte[]
中看到proxy.requestArgs
。
但是在控制器中,我在此操作结果中得到null。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(byte[] param)
{
//I get null in this param.
}
我错过了什么? 任何解决方案
答案 0 :(得分:4)
您正在将数据传递给控制器操作,并且该操作需要一个名为param的帖子项。所以在你的JS中,让你的ajax调用看起来像这样(注意对数据的更改):
$.ajax({
url: proxy.Model.RequestParamUrl,
type: "Post",
async: false,
data: { param: proxy.requestArgs },
dataType: 'json',
success: function (Jsondata) {
proxy.allowPost = false;
proxy.postSucceed = true;
//hidden code
return true;
}
});
答案 1 :(得分:1)
string
,并在其中将其转换为byte[]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(string param)
{
var bytes = System.Text.Encoding.UTF8.GetBytes(param);
}