【问题标题】:Angularjs $http request lost data when json key is begin with '$'当json键以'$'开头时,Angularjs $http请求丢失数据
【发布时间】:2015-10-26 09:50:28
【问题描述】:

我发送一个帖子请求

有效载荷是`

{
    'query': {
         "_id.domainName" : "receiver",
         "_id.name":"httpRequestCnt",
         "_id.timestamp":{
             "$gte":{
                 "$date": 0 
              },
              "$lt":{
                   "$date": 2000
              }
          }
      },
      "sort":{
           "_id.timestamp" : 1
      }
 }

当我查看 Chrome 的调试日志时,我发现 '$gte' 和 '$lt' 丢失了。

你遇到过同样的问题吗?

【问题讨论】:

  • 这看起来很乱。首先,数据应该用双引号引起来,而不是随机的有时单引号,有时是双引号。不确定您期望“vtime”行如何工作,它没有被引用并且 JSON 不执行计算。那么为什么 $ 在某些情况下似乎被逃脱了,而在其他情况下却没有。它不应该被逃脱。所以用正确的引号再试一次,看看是否更好。

标签: json angularjs http


【解决方案1】:

Angular $ 开头的键名,因为它们通常是特定于角度的值($valid 等)。 1.3之后,它只去除$$前缀键。

一些解决方案是:

  1. 使用较新的角度
  2. 使用不同的键名
  3. 使用本机 XHR / jquery(如果您这样做,请务必跟踪您的 $applys。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-11
    • 2016-06-30
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    相关资源
    最近更新 更多