2016-12-06 58 views
0

我有一个问题,从d3调用json函数。从非root-URL调用d3.json

从在我的Django DB中呈现模型的页面(本网站从此url调用/ app/function/pk)我调用JS d3.json以便使用“app/dootherthing/pk“作为网址。例如:d3.json(“/ app/dootherthing/pk”)。然而,控制台在开发人员模式给了我一个错误,因为d3.json试图从http://127.0.0.1:8000/app/function/pk/app/dootherthing/pk而不是http://127.0.0.1:8000/app/dootherthing/pk获取json对象,这是json对象的位置。

如何将d3.json重定向到根网址“127.0.0.1:8000/”,并且不再以root用户身份使用当前网址?

我不知道我是否自我解释,但我想这应该是一些愚蠢和容易,谢谢你的答案!

最好。

+0

你能告诉我们相关的JS代码吗? –

+0

d3.json(“app/dootherthing /”+ pk,function(error,graph){ force(graph); if(error)throw error; }); – ddomingo

+0

这个工程,如果我从http://127.0.0.1:8000/调用它,但不是当我在url“http://127.0.0.1:8000/app/function/pk”,因为函数d3.json尝试这个网址“app/function/pk/app/dootherthing/pk” – ddomingo

回答

0

您提供一个relativ路径,试图将其更改为绝对路径

"/app/dootherthing/" 

或可替代

"../../app/dootherthing/" 

您可以随时与window.location.href检查当前URL /路径,例如

var app_url = "app/dootherthing"; 
if (window.location.href.indexOf('/app/') !== -1) { 
    url = window.location.href.slice(0, window.location.href.indexOf('/app/')) + '/' + app_url; 
} else { 
    url = app_url; 
} 
+0

感谢您的回答。问题是,我使用相同的HTML和JavaScript类似的方法,所以我想在这里同时使用两个HTML/JS。在这种方法中,它起作用,因为它是从根url调用的。我不知道创建一个条件是否有意义,取决于我所称的相对路径,我认为它会起作用。 – ddomingo

+0

顺便说一下,它的工作 – ddomingo

+0

查看更新的答案以及:) –