我将一个 JSON 字符串发布到 asp.net MVC,如下所示。
AJAX 调用
$.ajax({
type: "POST",
url: "@(storeLocation)IDR/OpcInsertCustomerProfile/",
data: JSON.stringify(currSelection),
contentType: "application/json",
success: function(data) {
alert('success : ' + JSON.stringify(data));
},
error: function(data) {
alert('Error : ' + JSON.stringify(data));
}
}
);
在控制器中:
[HttpPost]
[ActionName("OpcInsertCustomerProfile")]
public JsonResult OpcInsertCustomerProfile(string currSelectionData)
{
try
{
JavaScriptSerializer ser = new JavaScriptSerializer();
var res = ser.Serialize(currSelectionData);
return Json(currSelectionData, JsonRequestBehavior.AllowGet);
}
catch (Exception exc)
{
return Json(new { error = 1, message = exc.Message });
}
}
调试器指示操作被成功调用,但是接收到的传入字符串参数始终为空。Firebug 'post' 显示传出参数是正确的 json 对象。我期待看到 JSON 字符串作为传入参数。请注意,我不想将其反序列化为适当的对象。我要做的就是将字符串以 JSON 格式“原样”存储在数据库中。稍后需要将其检索并按原样传递给 Javascript。