2016-12-06 57 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

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