AngularJS $ http请求比直接在浏览器

时间:2016-03-03 16:25:23

标签: javascript angularjs wordpress xmlhttprequest

我正致力于Wordpress网站的AngularJS增强功能。我使用WP-API(v2)插件创建自定义端点,然后使用Angular $ http服务在前端使用它们。

这是角度请求的代码示例:

function getData(slug) {
    return $http.get(endpoints.specialData.replace(':slug', slug)).then(function (response) {
        var data = response.data || {};
        return data;
    }, function (response) {
        return response;
    });
}

当我访问此电话的页面时,我可以看到此XHR的时间(通过Chrome开发工具)大约需要4.5秒。

如果我直接在浏览器中点击相同的端点URL,则会在900毫秒内返回JSON结果。端点URL使用相对路径(/ path / relative / from / site / root)而不是完整的http://路径定义,如果这有任何区别。

为什么通过Angular会花费更长时间?

1 个答案:

答案 0 :(得分:0)

调试性能非常特别,所以我所能做的就是帮助您完成旅程。您可能希望使用DevTools中的“网络”选项卡查看对请求进行故障排除,并找出导致速度减慢的确切原因。请完整阅读Google的这篇文章:https://developers.google.com/web/tools/chrome-devtools/profile/evaluate-performance/timeline-tool

TL; DR如果您在请求中看到很多绿色,那很可能是服务器问题,如果它是蓝色的,那么您发送的字节太多而需要优化您的JSON。

从那里你可以开始缩小它。

祝你好运!