簡體   English   中英

從JavaScript調用Django URL

[英]Calling a Django URL from JavaScript

* 編輯此問題的清晰度 *

我有一個帶有Flash對象的Django模板。 模板本身繼承自主模板,位於一個名為info的塊中。 一切正常!

單擊Flash對象時,它將在單獨的js文件中調用帶參數的JavaScript回調函數。 在此函數中,我可以使用類似的方法加載另一個Django模板

  function myCallBack(param){
        location.href = 'crc_region_cities' // (Django url). 
  }

我想知道的是如何將參數param(它是一個字符串)傳遞給該URL,以便具有相同名稱的視圖函數def crc_region_cities將其拾取並進行適當的查詢。

額外信息:

新的URL調用一個視圖,該視圖呈現一個模板,該視圖又繼承了與前一個模板相同的主模板,並位於相同的block ... info中。

有一個更好的方法嗎...?? 請記住,我的Flash對象使用字符串參數調用了javascript回調函數,因此我必須以某種方式從那里操縱新模板,同時將字符串參數傳遞給URL。 在代碼下面,您可以看到視圖函數的第二個參數稱為region。 這是我需要通過javascript函數傳遞的參數。

 THE URL (r'^crc_region_cities/?$', 'crc_region_cities'),

 The View

 def crc_region_cities(request, region):
     cities = City.objects.filter(region__exact=region)
     return render_to_response('crc/crc_region_cities.html', {'cities': cities}, context_instance=RequestContext(request))

非常感謝

由於所有瀏覽器問題,通常最好不要自己制作原始 AJAX。 我建議為此使用jQuery(以及許多其他功能),因為它已經可以解決所有的怪異之處。

看一下jQuery AJAX API頁面 ,特別看一下jQuery.get()和jQuery.post()來傳遞參數。

觀察:在分配給href的字符串上看不到前導“ /”,這意味着它相對於頁面的原始URL。 這很容易引起問題。 請記住,在調試AJAX內容時,帶有Firebug擴展的Firefox是您的朋友。 運行頁面,然后查看標記為Console的選項卡。 如果報告錯誤,我不會感到驚訝。

另一件事要看: jQuery taconite插件是我見過的最甜蜜的AJAX擴展之一。 看看這個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM