gpt4 book ai didi

javascript - d3.json 发出什么样的请求?

转载 作者:行者123 更新时间:2023-12-02 17:45:13 27 4
gpt4 key购买 nike

我正在使用这个 d3 插件:http://kamisama.github.io/cal-heatmap/它从本地 url 加载 json 数据,我通常在 PHP 中添加此控件来检查调用是否是正确的 AJAX 调用:

define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');

此检查失败,我能够将其回溯到 d3.json 函数。

有人可以向我解释一下 d3.json 发出什么样的请求吗?

非常感谢。

编辑:

这是代码:

        <script type="text/javascript">
var cal = new CalHeatMap();
cal.init(
{
cellSize:15,
range: 12,
domain: "month",
data: '<?php echo $url; ?>',
legendHorizontalPosition: 'center',
legendCellSize: 15
}
);
</script>

$url 是返回 json 的 url。

最佳答案

首先,文档中并不清楚数据是如何处理的。所以我们可以快速浏览一下代码(第 2459 行 src\cal-heatmap.js)

switch(typeof source) {
case "string":
if (source === "") {
_callback({});
return true;
} else {
switch(this.options.dataType) {
case "json":
d3.json(this.parseURI(source, startDate, endDate), _callback);
break;

当我们传递一个字符串而不是一个对象时,它会检查扩展并使用 d3 的辅助方法,因此其行为应该与 d3.json() 类似,它本身包裹着 d3.XHR ()。没有文档说它发送 HTTP_X_REQUESTED_WITH。许多其他框架都这样做,因此您会看到它几乎是检测 AJAX 调用的通用方法,但它不是必需的。

关于javascript - d3.json 发出什么样的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21824170/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com