问题标签 [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.

0 投票
1 回答
1894 浏览

json - HttpPost后,Model无效时返回View(ActionResult),response内容类型为application/json

我在我的 ASP.NET MVC 站点的多个页面中遇到了一个奇怪的问题。当我发布表单并且模型无效时,我尝试返回相同的视图以便我可以看到错误 - 但是,我没有重新加载页面,而是弹出一个下载框,显示该文件是以“应用程序/json”格式。从下面的代码可以看出,控制器方法返回的是 ActionResult 而不是 JsonResult:

当我提交我的表单而不填写它时,我可以看到模型未通过验证(正确),但是当它到达最后一行“return View(model);”时 - 它返回我期望的所有 HTML - 但内容类型设置为“application/json”。我没有在我的代码中的任何地方设置内容类型 - 所以我无法弄清楚为什么会发生这种情况。同样的事情也发生在其他页面上,所以我认为我做错了一些基本的事情 - 但我似乎无法弄清楚。

有什么想法吗?

0 投票
1 回答
15444 浏览

json - ASP.NET MVC - 使用 ViewData 将 Json 字符串传递给视图

我正在尝试使用 ViewData 将 Json 传递给我的视图

控制器

看法

但我遇到的问题是输出源看起来像

这显然是不对的。我错过了一些基本的东西吗?

0 投票
3 回答
1902 浏览

jquery - 当本地机器和服务器处于不同时区时,Json 返回不同的日期

我在 json 日期解析中有一个奇怪的问题。我正在使用以下内容来解析 json 日期:

当我的本地机器(客户端)与服务器时区位于不同的时区时,当我尝试检索用户的注册日期时,它会返回不同的日期。

例如:

SQL中的注册日期:2010-07-22 19:00:00.000

当我在 IST 时区的本地机器上调试时,返回的 JsonResult 日期为:

当我从位于 EST 时区的已部署服务器访问相同的数据时,返回的 JsonResult 日期为:

当我将本地机器更改为 EST 时区时,这很完美(返回相同的日期 - 星期四 7 月 22 日)。我在这里错过什么了吗?请建议

服务器代码是[编辑]:

0 投票
2 回答
829 浏览

jquery - 调用另一个控制器的操作并将其结果返回给 View

我有一个需要以下功能的场景:

我需要查看页面中的 JsonResult,但问题如下:

  1. 由于 RedirectToAction 返回 redirecttorouteresult 我不能直接返回 JSonResut
  2. 由于我需要 ActionC 中的 Session,我无法实例化 Controller 并调用该操作。
0 投票
1 回答
387 浏览

json - mvc 2 json结果输出

如何查看 mvc 2 jsonresult 的原始 json 输出?我需要这个来调试结果。

谢谢

0 投票
3 回答
11324 浏览

asp.net-mvc - ASP.Net MVC:如何基于原始 Json 数据创建 JsonResult

包含以下原始Jsonstring数据(为了问题而简化):

我怎样才能创建一个JsonResult代表的对象MyString

我尝试使用 Json(object) 方法。但它将原始 json 数据处理为一个字符串 - 逻辑上:P-。所以返回的 HTTP 响应如下所示:

而不是给定的原始 Json 数据:

这就是我想要实现的目标

0 投票
1 回答
2356 浏览

asp.net-mvc - 从复杂对象中过滤 ASP.NET MVC JsonResult 中的 Json

我正在尝试从数据模型的复杂对象 Json 中发布,不幸的是,我不想传递所有层次结构(person-> HasMany Orders/ Orders HasMany Products 等),而只是传递“第一级”(对于网格视图的示例人名)。

我正在寻找一种过滤 Json 对象的解决方案,并且——如果可能的话——进行延迟加载并避免 sql 开销。

有任何想法吗?

0 投票
2 回答
574 浏览

.net - 减少 ASP.NET MVC 中 JsonResult 消息的字节数

使用编码的动作结果JsonResult在序列化中似乎过于冗长。例如:

JavaScript 似乎对这个较短的版本非常满意:

所以这个问题有两个方面:

  1. 假设我所有的标签都是有效的 JavaScript 标识符,是否有前者更好的原因?
  2. 我可以强制 ASP.NET MVC 框架使用这种更短的语法对我的消息进行编码吗?

我正在编写一个非常重 AJAX 的应用程序,并计算出我可以节省 15% 到 20% 的消息大小。在许多情况下,是否将响应放入单个 TCP 数据包中会有所不同。即使不考虑性能,在我每月的带宽账单方面减少这么多也是一个福音。

编辑

正如贾斯汀指出的那样,根据 JSON 标准需要引号,但我不需要它们在浏览器中用于纯 JavaScript 使用。我可以强制 .NET Web 框架以比编写自己的 JSON 序列化程序更简单的方式删除引号吗?

0 投票
3 回答
4149 浏览

c# - 如何使用“动态”变量从匿名类型中读取属性

我有一个巧妙的想法,即使用动态变量来测试返回匿名类型的方法的结果——更具体地说,它返回一个 JsonResult,json 看起来像这样

我可以阅读给我匿名类型的 JSonResult。这是我的代码:

但是,例如,我如何获得“newData”?这段代码......

给了我一个 System.Linq.Enumerable.WhereSelectArrayIterator,但我不知道如何处理它才能将它用作一系列双打。

我尝试将其转换为双 [],但它也不起作用。

顺便说一句,我可以轻松检查是否在动态上定义了属性吗?

0 投票
1 回答
2048 浏览

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 响应。