javascript - 内容丰富且 javascript : get only entries with fields. future 日期

标签 javascript angularjs rest date contentful

我使用 contentful 作为我的移动应用的后端。

比赛装置存储在 contentful 中。 我想查询下一场比赛,但出现以下错误:

422 (Unprocessable Entity)

我检索下一个匹配的函数:

function nextOpponent(){
        var content_Type = mainConfig.config.contentType.match // Matches
        var order = "fields.datum";
        var gt = new Date().toLocaleString();
        console.log(gt);
        var query = "content_type=" + content_Type +
            "&order=" + order +
            "&fields.datum%5Bgte%5D=" + encodeURI(gt);

        contentful.entries(query).then(
            //success
            function(response){
                $scope.nextMatch = response.data.items[0];
                console.log($scope.nextMatch);
            },
            //error
            function(response){

            }
        )
    }

最佳答案

您面临的问题主要是因为日期字符串格式错误。日期字符串必须遵循 ISO-8601 format 。您可以使用内置的 JS 函数 Date#toISOString 创建这样的格式化字符串。或通过您选择的日期格式库。除此之外,您可以将参数作为对象传递。

以下代码使用内置日期方法:

var gt = new Date().toISOString();

contentful.entries({
  content_type: content_Type,
  order: order,
  'fields.datum[gte]': gt
}).then(function () {
  // go ahead here...
});

补充说明: Contentful 将根据请求的 URL 缓存查询结果。因此,如果您不需要高精度,我建议使用仅反射(reflect)当前日期或一天中相应小时的时间戳。例如。 2015-07-282015-07-28T15:00

关于javascript - 内容丰富且 javascript : get only entries with fields. future 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31535660/

相关文章:

asp.net - Breeze 查询错误,即使结果返回

spring - 如何在基于 Spring 的强类型语言中正确执行 PATCH - 示例

javascript - 设置间隔 : glitch while changing delay through button click

angularjs - 自定义验证器未被调用

javascript - 为什么 Vue 的提供和注入(inject)功能会出现警告?

javascript - Angular 指令不工作 Chrome 打包应用程序

api - 如何使用 LIKE 标准设计 REST API?

azure - OneDrive API 和 Azure Active Directory 设置以作为个人帐户上传

javascript - 如何清空 Angular 4 中的可观察对象

javascript - 更改所有 <li> 项目的背景颜色