Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 无效的JSON基元:对象_Jquery_Ajax_Asp.net Mvc_Json - Fatal编程技术网

Jquery 无效的JSON基元:对象

Jquery 无效的JSON基元:对象,jquery,ajax,asp.net-mvc,json,Jquery,Ajax,Asp.net Mvc,Json,我试图通过以下jQuery Ajax调用向MVC方法发送字符串化的JSON对象: $.ajax({ type: "POST", url: "UpdateItem", contentType: "application/json; charset=utf-8", dataType: "json", processData : false, data:

我试图通过以下jQuery Ajax调用向MVC方法发送字符串化的
JSON
对象:

$.ajax({
           type: "POST",
           url: "UpdateItem",
           contentType: "application/json; charset=utf-8",
           dataType: "json",
           processData : false,
           data:
               {
                    item: JSON.stringify(_item)
               },
           success: function (data) {
               alert(data);
           },
           error: function (x, t, m, b) {
               DisplayErrorMessage(x.responseText);
           }
       });
我的数据的字符串化版本如下:

{
    "Id": 4,
    "ParentId": 1,
    "TypeId": 2,
    "TypeText": "Solid",
    "ItemNo": 8,
    "StandartTypeId": 7,
    "StandartTypeText": "Dept",
    "GradeTypeId": 6,
    "GradeTypeText": null,
    "Thickness": 0.044,
    "ThicknessToleranceId": 1,
    "ThicknessToleranceText": null,
    "Width": 42,
    "MinWeightId": 6,
    "MinWeight": null,
    "MinWeight2": null,
    "MaxWeightId": 8,
    "MaxWeight1": null,
    "MaxWeight2": null,
    "DefId": null,
    "Quantity": 330690,
    "QuantityToleranceId": 3,
    "QuantityToleranceText": "",
    "ProductionDate": "2014-11-05T22:00:00.000Z",
    "PortId": 3,
    "PortText": null,
    "DeliveryDate": "2014-10-08T21:00:00.000Z",
    "MaterialTypeId": 2,
    "MaterialTypeText": "",
    "FeePrepaid": 30,
    "Price": 525,
    "Extra1": 0,
    "Extra1": 0,
    "CurrencyId": 2,
    "CurrencyText": "",
    "StatusId": 2,
    "StatusText": "",
    "ReasonId": null,
    "ReasonText": null,
    "Note": "New note",
    "CreateDate": "2014-11-06T09:12:29.661Z",
    "CreateUserId": 0,
    "CreateUserText": "",
    "CancelDate": null,
    "CancelUserId": null,
    "CancelUserText": null,
    "ChemicalProperties": null,
    "TechnicalProperties": null,
    "Remarks": null
}
[ArgumentException: Invalid JSON primitive: object.]
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() +915
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) +597
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeList(Int32 depth) +354
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) +531
System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer) +108
System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit) +210
System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject(String input) +86
System.Web.Mvc.JsonValueProviderFactory.GetDeserializedObject(ControllerContext controllerContext) +191
System.Web.Mvc.JsonValueProviderFactory.GetValueProvider(ControllerContext controllerContext) +19
System.Web.Mvc.<>c__DisplayClassc.<GetValueProvider>b__7(ValueProviderFactory factory) +34
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +145
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +171
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +460
System.Linq.Enumerable.ToList(IEnumerable`1 source) +58
System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext) +281
System.Web.Mvc.ControllerBase.get_ValueProvider() +40
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +60
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +117
System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__1e(AsyncCallback asyncCallback, Object asyncState) +446
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +302
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__17(AsyncCallback asyncCallback, Object asyncState) +30
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +382
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +317
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +15
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState) +71
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +249
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +50
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +301
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
我已通过成功验证了我的JSON对象

我尝试通过以下方法获得响应:

public JsonResult UpdateItem(string json)
{
    var js = new JavaScriptSerializer();
    var deserializedItem = (object[])js.DeserializeObject(json);


    return Json(null);
}
但是,当我尝试通过Ajax发布时,在ASP.NET MVC控制器方法调用之前会收到以下错误消息:

无效的JSON基元:对象。 异常详细信息:System.ArgumentException:无效的JSON原语:对象

我的堆栈跟踪如下所示:

{
    "Id": 4,
    "ParentId": 1,
    "TypeId": 2,
    "TypeText": "Solid",
    "ItemNo": 8,
    "StandartTypeId": 7,
    "StandartTypeText": "Dept",
    "GradeTypeId": 6,
    "GradeTypeText": null,
    "Thickness": 0.044,
    "ThicknessToleranceId": 1,
    "ThicknessToleranceText": null,
    "Width": 42,
    "MinWeightId": 6,
    "MinWeight": null,
    "MinWeight2": null,
    "MaxWeightId": 8,
    "MaxWeight1": null,
    "MaxWeight2": null,
    "DefId": null,
    "Quantity": 330690,
    "QuantityToleranceId": 3,
    "QuantityToleranceText": "",
    "ProductionDate": "2014-11-05T22:00:00.000Z",
    "PortId": 3,
    "PortText": null,
    "DeliveryDate": "2014-10-08T21:00:00.000Z",
    "MaterialTypeId": 2,
    "MaterialTypeText": "",
    "FeePrepaid": 30,
    "Price": 525,
    "Extra1": 0,
    "Extra1": 0,
    "CurrencyId": 2,
    "CurrencyText": "",
    "StatusId": 2,
    "StatusText": "",
    "ReasonId": null,
    "ReasonText": null,
    "Note": "New note",
    "CreateDate": "2014-11-06T09:12:29.661Z",
    "CreateUserId": 0,
    "CreateUserText": "",
    "CancelDate": null,
    "CancelUserId": null,
    "CancelUserText": null,
    "ChemicalProperties": null,
    "TechnicalProperties": null,
    "Remarks": null
}
[ArgumentException: Invalid JSON primitive: object.]
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() +915
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) +597
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeList(Int32 depth) +354
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) +531
System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer) +108
System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit) +210
System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject(String input) +86
System.Web.Mvc.JsonValueProviderFactory.GetDeserializedObject(ControllerContext controllerContext) +191
System.Web.Mvc.JsonValueProviderFactory.GetValueProvider(ControllerContext controllerContext) +19
System.Web.Mvc.<>c__DisplayClassc.<GetValueProvider>b__7(ValueProviderFactory factory) +34
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +145
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +171
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +460
System.Linq.Enumerable.ToList(IEnumerable`1 source) +58
System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext) +281
System.Web.Mvc.ControllerBase.get_ValueProvider() +40
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +60
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +117
System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__1e(AsyncCallback asyncCallback, Object asyncState) +446
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +302
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__17(AsyncCallback asyncCallback, Object asyncState) +30
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +382
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +317
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +15
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState) +71
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +249
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +50
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +301
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
[ArgumentException:无效的JSON原语:对象。]
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()+915
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32深度)+597
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeList(Int32深度)+354
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32深度)+531
System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(字符串输入,Int32 depthLimit,JavaScriptSerializer序列化程序)+108
反序列化(JavaScriptSerializer序列化程序,字符串输入,类型,Int32 depthLimit)+210
System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject(字符串输入)+86
System.Web.Mvc.JsonValueProviderFactory.GetDeserializedObject(ControllerContext ControllerContext)+191
System.Web.Mvc.JsonValueProviderFactory.GetValueProvider(ControllerContext ControllerContext)+19
System.Web.Mvc.c__显示ClassC.b__7(ValueProviderFactory)+34
System.Linq.whereSelectEnumerableInterator`2.MoveNext()+145
System.Linq.whereSelectEnumerableInterator`2.MoveNext()+171
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)+460
System.Linq.Enumerable.ToList(IEnumerable`1源)+58
System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext ControllerContext)+281
System.Web.Mvc.ControllerBase.get_ValueProvider()+40
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext ControllerContext,ParameterDescriptor ParameterDescriptor)+60
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext ControllerContext,ActionDescriptor ActionDescriptor)+117
System.Web.Mvc.Async.c__显示类25.b__1e(AsyncCallback AsyncCallback,Object asyncState)+446
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(异步回调,对象状态,Int32超时)+130
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext ControllerContext,String actionName,AsyncCallback回调,对象状态)+302
System.Web.Mvc.c_uuudisplayClassId.b_uuu17(异步回调,异步回调,对象异步状态)+30
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(异步回调,对象状态,Int32超时)+130
System.Web.Mvc.Controller.BeginExecuteCore(异步回调,对象状态)+382
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(异步回调,对象状态,Int32超时)+130
System.Web.Mvc.Controller.BeginExecute(RequestContext RequestContext,AsyncCallback回调,对象状态)+317
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext RequestContext,AsyncCallback回调,对象状态)+15
System.Web.Mvc.c_uuudisplayClass8.b_uuu2(异步回调,异步回调,对象异步状态)+71
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(异步回调,对象状态,Int32超时)+130
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext,异步回调,对象状态)+249
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext HttpContext,异步回调,对象状态)+50
System.Web.Mvc.MvcHandler.System.Web.IHTTPassynchandler.BeginProcessRequest(HttpContext上下文,AsyncCallback cb,Object extraData)+16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+301
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+155
您是否尝试过:

data: JSON.stringify(_item)
只是猜测,但我认为使用:

data:
           {
                item: JSON.stringify(_item)
           }
不会得到你想要的

由于您正在控制器中等待
字符串
,因此应在请求中传递
字符串

如果需要多个对象,则必须创建一个变量,该变量将转换为以下内容:

JSON.stringify(_items) => "[{id:1},{id:2}]";
然后在:
data:JSON.stringify(_item)
中将Ajax请求的“传统”属性设置为true就足够了

正如Michael所建议的,除了多个值之外,只应按如下方式设置单个参数:

{
    "Id": 4,
    "ParentId": 1,
    "TypeId": 2,
    "TypeText": "Solid",
    "ItemNo": 8,
    "StandartTypeId": 7,
    "StandartTypeText": "Dept",
    "GradeTypeId": 6,
    "GradeTypeText": null,
    "Thickness": 0.044,
    "ThicknessToleranceId": 1,
    "ThicknessToleranceText": null,
    "Width": 42,
    "MinWeightId": 6,
    "MinWeight": null,
    "MinWeight2": null,
    "MaxWeightId": 8,
    "MaxWeight1": null,
    "MaxWeight2": null,
    "DefId": null,
    "Quantity": 330690,
    "QuantityToleranceId": 3,
    "QuantityToleranceText": "",
    "ProductionDate": "2014-11-05T22:00:00.000Z",
    "PortId": 3,
    "PortText": null,
    "DeliveryDate": "2014-10-08T21:00:00.000Z",
    "MaterialTypeId": 2,
    "MaterialTypeText": "",
    "FeePrepaid": 30,
    "Price": 525,
    "Extra1": 0,
    "Extra1": 0,
    "CurrencyId": 2,
    "CurrencyText": "",
    "StatusId": 2,
    "StatusText": "",
    "ReasonId": null,
    "ReasonText": null,
    "Note": "New note",
    "CreateDate": "2014-11-06T09:12:29.661Z",
    "CreateUserId": 0,
    "CreateUserText": "",
    "CancelDate": null,
    "CancelUserId": null,
    "CancelUserText": null,
    "ChemicalProperties": null,
    "TechnicalProperties": null,
    "Remarks": null
}
[ArgumentException: Invalid JSON primitive: object.]
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject() +915
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) +597
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeList(Int32 depth) +354
System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializeInternal(Int32 depth) +531
System.Web.Script.Serialization.JavaScriptObjectDeserializer.BasicDeserialize(String input, Int32 depthLimit, JavaScriptSerializer serializer) +108
System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer, String input, Type type, Int32 depthLimit) +210
System.Web.Script.Serialization.JavaScriptSerializer.DeserializeObject(String input) +86
System.Web.Mvc.JsonValueProviderFactory.GetDeserializedObject(ControllerContext controllerContext) +191
System.Web.Mvc.JsonValueProviderFactory.GetValueProvider(ControllerContext controllerContext) +19
System.Web.Mvc.<>c__DisplayClassc.<GetValueProvider>b__7(ValueProviderFactory factory) +34
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +145
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +171
System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +460
System.Linq.Enumerable.ToList(IEnumerable`1 source) +58
System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext) +281
System.Web.Mvc.ControllerBase.get_ValueProvider() +40
System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) +60
System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +117
System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__1e(AsyncCallback asyncCallback, Object asyncState) +446
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +302
System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__17(AsyncCallback asyncCallback, Object asyncState) +30
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +382
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +317
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +15
System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState) +71
System.Web.Mvc.Async.WrappedAsyncResult`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +130
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +249
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +50
System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +301
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
最后一个Ajax调用应该是:

$.ajax({
       type: "POST",
       url: "UpdateItem",
       contentType: "application/json; charset=utf-8",
       dataType: "json",
       traditional: true,
       processData : false,
       data: JSON.stringify(_item),
       success: function (data) {
           alert(data);
       },
       error: function (x, t, m, b) {
           DisplayErrorMessage(x.responseText);
       }
   });
用我的代码运行 在我的反应中

$.ajax({
            type: 'POST',
            url: 'http://example.com/ExampleService/ExampleMethod',
            //data: JSON.stringify({transferData: objImages}), => Wrong
            //data: { transferData: JSON.stringify(objImages) }, => Wrong
            //data: JSON.stringify(objImages), => Wrong
            data: JSON.stringify({ 'transferData': JSON.stringify(objImages) }), // transferData is name
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (data) {
                alert(data);
            },
            failure: function (errMsg) {
                alert(errMsg);
            }
        });
在asp.net mvc webservice中

public ActionResult ExampleMethod(string transferData)
    {
        //dynamic transferObj = JsonConvert.DeserializeObject(transferData);
        //return Json(transferObj);

        return Json(transferData);
    }

当我这样做的时候,它落在ASP.NET MVC控制器方法“UpdateItem”上,但是这次参数“json”是空的。另外,问题是实际场景的简化。事实上,我必须一次发送多个对象。因此,我应该更好地使用“data:{}”结构。在这种情况下,您必须向数据发送JSON格式的对象数组,而不是数据列表。你不应该有
null
无论如何,你能试着用这个简单的数据:
JSON.stringify({id:20})
确保问题不在你的stringify值中我不知道是什么错了,但即使是“data:[JSON.stringify({id:20}),JSON.stringify({id:30})],也会说“无效的JSON原语:{id:30}”您是否只尝试了
data:JSON.stringify({id:20})
?没有
[
任何地方。将
traditional
设置为
true
并不是一个好的解决方案。阅读它似乎无法获得nester对象。相反,我的真实对象是一个对象,它的常规类型作为属性,三个(其他对象)集合作为属性。它似乎