【发布时间】:2018-04-12 06:07:01
【问题描述】:
我正在使用本地环境在 Mac 上工作。我拥有所有 API。
我有一个对 API 进行 ajax 调用的网页。 (例如http://1.api.loc/v1.0/getSomthing?id=1) 这个 API 是用 PHP 编码的。 API 1 再次调用 Api 2。(http://2.api.loc/v1.0/getSomthingSpecific?id=1)
第二个调用是使用 PHP 中的 curl 完成的。
即使使用此修复程序 (add context header),我使用 file_get_content() 也得到了相同的结果
然后,我的 JS 代码 (Jquery) 接收结果,对其进行解析并在我的 HTML 页面中填充一个表格。
我遇到的第一个问题是,当我直接调用 Api2(通过网络浏览器)时,结果会在 200 毫秒内显示出来。当我调用 Api1(调用 Api 2)时,结果会在 35 秒内显示出来。经过一番调查,我发现 DNSLookup 非常慢。我解决了这个问题,更改了我的 /etc/hosts 配置。
现在这两个 API 都运行良好,并在几毫秒内响应(直接在 Web 浏览器或 curl 命令行上调用时)。问题出在我的 JS 代码中。当我进行 ajax 调用时,需要 +30 秒才能得到响应。
$.ajax({
type: "GET",
url: "http://1.api.loc/v1.0/getSomething",
data:{'id' : 1},
success: function (data) {
handler(data);
}
});
【问题讨论】:
-
你能告诉我们创建表的jquery代码吗?还有api?
-
使用chrome开发者工具调试。
标签: jquery ajax performance