【发布时间】:2012-05-24 05:51:59
【问题描述】:
使用d3.json 发出 json 请求有效,而 $.getJson 和 $.ajax 失败。这不是跨域问题,因为我在同一域上请求脚本。
d3.json('api.php?q=/user/authUser?authemail=email%26authpassword=pass', function(d) {
console.log(d);
});
在控制台 --> 网络中,d3 请求正确地将 api.php 显示为路径,但使用 $.getJson 或 $.ajax 我将 Web 服务路由 (web.myapp.local) 作为路径。
d3.json 不只是 $.getJson 的包装器。如果是这样,为什么每个请求路径不同。
【问题讨论】:
-
D3 完全独立于 jQuery,因此它不是包装器。尝试使用前面带有
/的 URL(使其成为绝对值)。 -
不像我使用 d3 那样获取 json,使用 $.ajax 或 $.getJson 的响应是 index.php 页面。我已经摆弄了网址,但没有这样做
-
找出问题所在 - 我使用的是 mockjax,一个 javascript 库来拦截 ajax 调用,它导致了问题。通过完全删除库来解决它。
标签: javascript jquery getjson d3.js