[英]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.