gpt4 book ai didi

javascript - 将 JSON 字符串发布到 ASP.NET MVC 3 操作导致空参数

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:14 24 4
gpt4 key购买 nike

我正在向 asp.net MVC 发送一个 JSON 字符串,如下所示。

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));
}
}
);

在 Controller 中:

[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 });
}
}

调试器指示 Action 被成功调用,但是接收到的传入字符串参数始终为空。 Firebug“post”显示传出参数是正确的 json 对象。我希望看到 JSON 字符串作为传入参数。请注意,我不想将其反序列化为适当的对象。我想要做的就是将字符串以 JSON 格式“原样”存储在数据库中。稍后需要检索它并按原样传递给 Javascript。

最佳答案

试试这个:

$.ajax({
type: "POST",
url: "@(storeLocation)IDR/OpcInsertCustomerProfile/",
data: { "currSelectionData" : "'" + JSON.stringify(currSelection) + "'" },
contentType: "application/json",
success: function(data) {
alert('success : ' + JSON.stringify(data));
},
error: function(data) {
alert('Error : ' + JSON.stringify(data));
}
}
);

关于javascript - 将 JSON 字符串发布到 ASP.NET MVC 3 操作导致空参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12615147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com