Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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
将大型JavaScript对象传递到C#后端而不使用JSON/字符串(使用IE11)_Javascript_C#_Json_String - Fatal编程技术网

将大型JavaScript对象传递到C#后端而不使用JSON/字符串(使用IE11)

将大型JavaScript对象传递到C#后端而不使用JSON/字符串(使用IE11),javascript,c#,json,string,Javascript,C#,Json,String,这是我作为一名新雇用的初级开发人员提出的第一个堆栈溢出问题。我已经做了很多搜索,但似乎找不到答案,如果我错过了,我道歉 我有两个大型JavaScript对象,希望从web应用程序的前端传递到C#后端。对于我正在开发的应用程序,我们一直在使用JSON.stringify(object)来准备要传递到后端的数据。当它到达后端时,我们执行applymydatadata=JsonConvert.DeserializeObject(json)-正常情况下没有问题 编辑:以下是我们发布的方式: $.aja

这是我作为一名新雇用的初级开发人员提出的第一个堆栈溢出问题。我已经做了很多搜索,但似乎找不到答案,如果我错过了,我道歉

我有两个大型JavaScript对象,希望从web应用程序的前端传递到C#后端。对于我正在开发的应用程序,我们一直在使用
JSON.stringify(object)
来准备要传递到后端的数据。当它到达后端时,我们执行
applymydatadata=JsonConvert.DeserializeObject(json)-正常情况下没有问题

编辑:以下是我们发布的方式:

$.ajax({
键入:“POST”,
url:“/Controller/MyMethod”,
数据:{
json:json.stringify(myObject)
},
成功:功能(响应){
if(response.success){
//耶
}else if(response.success==false){
//不
}否则{
警惕(“发生了意想不到的事情”);
}
}
});你可以用小提琴演奏。
下面是我很快看到的:

IE11在实际发送数据方面没有问题


根据字符串的实际长度,ASP.Net在默认情况下有一个限制。

谢谢@robjam,这对我帮助很大。我正在使用Raygun进行错误报告,并为我提供POST表单值。表单值在他们的控制台中被截断,因此我认为(可能是错误的)字符串在实际发送到后端之前在浏览器中被截断

但看起来IE11的字符串化很好,也许RayGun根本没有在他们的错误日志控制台中打印出所有JSON,这让我感到不舒服


将进一步调查,谢谢。

为什么要将值作为查询字符串而不是POST数据传递回服务器?是的,根据HTTP的本质,您正在向服务器发送字符串。此外,IE11没有1024个字符的字符串长度限制。不要错误地认为
console.log()
总是说实话;尝试
console.log(evenBiggerString.length)只是为了好玩。@Pointy,我进一步看了看,我的JSON字符串看起来确实超过1024,所以这让我很迷惑。将深入控制器并尝试查找错误。谢谢你的回复。
$.ajax({    
    type: 'POST',
    url: '/echo/json',
    data: {
        "stuff": myArray
    }
}).done(function(res){
    console.log("success");
}).fail(function(res){
    console.log("test failed")
});