问题标签 [jsonresult]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - HttpPost后,Model无效时返回View(ActionResult),response内容类型为application/json
我在我的 ASP.NET MVC 站点的多个页面中遇到了一个奇怪的问题。当我发布表单并且模型无效时,我尝试返回相同的视图以便我可以看到错误 - 但是,我没有重新加载页面,而是弹出一个下载框,显示该文件是以“应用程序/json”格式。从下面的代码可以看出,控制器方法返回的是 ActionResult 而不是 JsonResult:
当我提交我的表单而不填写它时,我可以看到模型未通过验证(正确),但是当它到达最后一行“return View(model);”时 - 它返回我期望的所有 HTML - 但内容类型设置为“application/json”。我没有在我的代码中的任何地方设置内容类型 - 所以我无法弄清楚为什么会发生这种情况。同样的事情也发生在其他页面上,所以我认为我做错了一些基本的事情 - 但我似乎无法弄清楚。
有什么想法吗?
json - ASP.NET MVC - 使用 ViewData 将 Json 字符串传递给视图
我正在尝试使用 ViewData 将 Json 传递给我的视图
控制器
看法
但我遇到的问题是输出源看起来像
这显然是不对的。我错过了一些基本的东西吗?
jquery - 当本地机器和服务器处于不同时区时,Json 返回不同的日期
我在 json 日期解析中有一个奇怪的问题。我正在使用以下内容来解析 json 日期:
当我的本地机器(客户端)与服务器时区位于不同的时区时,当我尝试检索用户的注册日期时,它会返回不同的日期。
例如:
SQL中的注册日期:2010-07-22 19:00:00.000
当我在 IST 时区的本地机器上调试时,返回的 JsonResult 日期为:
当我从位于 EST 时区的已部署服务器访问相同的数据时,返回的 JsonResult 日期为:
当我将本地机器更改为 EST 时区时,这很完美(返回相同的日期 - 星期四 7 月 22 日)。我在这里错过什么了吗?请建议
服务器代码是[编辑]:
jquery - 调用另一个控制器的操作并将其结果返回给 View
我有一个需要以下功能的场景:
我需要查看页面中的 JsonResult,但问题如下:
- 由于 RedirectToAction 返回 redirecttorouteresult 我不能直接返回 JSonResut
- 由于我需要 ActionC 中的 Session,我无法实例化 Controller 并调用该操作。
json - mvc 2 json结果输出
如何查看 mvc 2 jsonresult 的原始 json 输出?我需要这个来调试结果。
谢谢
asp.net-mvc - ASP.Net MVC:如何基于原始 Json 数据创建 JsonResult
包含以下原始Jsonstring
数据(为了问题而简化):
我怎样才能创建一个JsonResult
代表的对象MyString
?
我尝试使用 Json(object) 方法。但它将原始 json 数据处理为一个字符串 - 逻辑上:P-。所以返回的 HTTP 响应如下所示:
而不是给定的原始 Json 数据:
这就是我想要实现的目标:
asp.net-mvc - 从复杂对象中过滤 ASP.NET MVC JsonResult 中的 Json
我正在尝试从数据模型的复杂对象 Json 中发布,不幸的是,我不想传递所有层次结构(person-> HasMany Orders/ Orders HasMany Products 等),而只是传递“第一级”(对于网格视图的示例人名)。
我正在寻找一种过滤 Json 对象的解决方案,并且——如果可能的话——进行延迟加载并避免 sql 开销。
有任何想法吗?
.net - 减少 ASP.NET MVC 中 JsonResult 消息的字节数
使用编码的动作结果JsonResult
在序列化中似乎过于冗长。例如:
JavaScript 似乎对这个较短的版本非常满意:
所以这个问题有两个方面:
假设我所有的标签都是有效的 JavaScript 标识符,是否有前者更好的原因?- 我可以强制 ASP.NET MVC 框架使用这种更短的语法对我的消息进行编码吗?
我正在编写一个非常重 AJAX 的应用程序,并计算出我可以节省 15% 到 20% 的消息大小。在许多情况下,是否将响应放入单个 TCP 数据包中会有所不同。即使不考虑性能,在我每月的带宽账单方面减少这么多也是一个福音。
编辑
正如贾斯汀指出的那样,根据 JSON 标准需要引号,但我不需要它们在浏览器中用于纯 JavaScript 使用。我可以强制 .NET Web 框架以比编写自己的 JSON 序列化程序更简单的方式删除引号吗?
c# - 如何使用“动态”变量从匿名类型中读取属性
我有一个巧妙的想法,即使用动态变量来测试返回匿名类型的方法的结果——更具体地说,它返回一个 JsonResult,json 看起来像这样
我可以阅读给我匿名类型的 JSonResult。这是我的代码:
但是,例如,我如何获得“newData”?这段代码......
给了我一个 System.Linq.Enumerable.WhereSelectArrayIterator,但我不知道如何处理它才能将它用作一系列双打。
我尝试将其转换为双 [],但它也不起作用。
顺便说一句,我可以轻松检查是否在动态上定义了属性吗?
arrays - 如何返回字典作为 JsonResult,并在 JavaScript 中获得正确的结果?
我通过向已经存在的 JsonResult(从不同的方法返回)添加一些额外的信息来在 Controller 中构建我的 JsonResult。为了添加更多属性,我将初始的 JsonResult 转换为 Dictionary:
然后我只是通过写入来添加数据wrapper["..."] = "value"
。
该方法返回一个新的 JsonResult,包装为 .Data:
这就是麻烦开始的地方;虽然通信完美地进行,并且成功函数被调用,但我在 JavaScript 中使用的结果数组没有我期望的干净结构:而不是访问值,因为val = ret.PropName1;
我最终不得不访问一个简单的索引数组,该数组依次包含有两对的字典:({ "Value"="val, "Key"="PropName1" };
所以类似的东西o[0].Key
会给我属性名称)
我想知道是否有一种智能、快速的方法来重写控制器中的 JsonResult 创建,以便在视图中获得一个干净的字典。我有几个想法,但不是特别干净:我可以丢弃服务器端的 JsonResult 重用,只创建一个具有所有正确属性的匿名对象;或者,我可以在 Javascript 中创建一个翻译函数,将结果翻译成一个新的 Array()。我正在寻找更好的解决方案。
[稍后编辑]数组以它的方式出现,因为字典被定义为<string, object>
. 如果是<string, string>
,它将按照我最初期望的方式发送。但是由于我实际上使用了该包中的对象,所以我将保持原样,并通过以下函数传递 json 响应。