2011-09-30 76 views
-1

我是新的django和jquery,我是searching for a 'hello world' sample for jquery使用django1.3,其中hello世界從服務器返回到客戶端的字符串/ json當用戶按下按鈕時或者在加載頁面時。如何從Django模板中的Jquery腳本調用python函數

注:我正在使用django1.3和python 2.7。這是一個非常基本的問題。

我成功地顯示了一個字符串「這是JQuery的Hello World」沒有任何視圖函數(只使用jquery)。但我不知道如何使用jQuery函數的視圖函數 如果有任何人有想法請在advance.om模板 幫助me.Thanks我嘗試使用下面的代碼片段。

urls.py

(r'^hellofromserver/$',views.test), 



def test(request): 
    if request.method == 'GET': 
     json = simplejson.dumps('hello world!') 
     return HttpResponse(json, mimetype = 'application/json') 

jqueyhelloserver.html:

<html> 
<head> 
<title>jQuery Hello World</title> 
<script type="text/javascript" src="{{STATIC_URL}}js/jquery-1.2.6.min.js"></script> 
</head> 
<body> 
..... 

<script type="text/javascript"> 


# how can I get'hello world' from test function(What is the sytax ) 

    </script>  
<div id="msgid"> 
</div> 
</body> 
</html> 

我怎麼能調用的函數 '測試',並從jQuery的 'hellofromserver'(從模板)?

+0

我只需要知道如何jQuery的通信服務器? – Jisson

回答

0

最後我從服務器得到了'hello'!

urls.py: 
from django.views.generic.simple import direct_to_template 

(r'^hello/$',direct_to_template, {'template': 'jqueryserver.html'}), 
(r'^jqueryserver/$',views.jqueryserver), 

views.py:

#other imports 
from django.views.decorators.csrf import csrf_exempt 
from django.core.context_processors import csrf 
from django.views.decorators.csrf import csrf_protect 

def jqueryserver(request): 
    print "in jqueryserver" 
    response_string="hello" 
    if request.method == 'GET': 
     if request.is_ajax()== True: 
      return HttpResponse(response_string,mimetype='text/plain') 

jqueryserver.html

<html> 
<head> 
    <title>jQuery Hello World</title> 
    <script type="text/javascript" src="{{STATIC_URL}}js/jquery.js"></script> 
<script> 


$.ajax({ 
    type: "GET", 
    url: "/jqueryserver/", 
    success: function(data){ 
     alert(data);   
    } 
}); 

</script> 
</head> 
<body> 
<form method ="GET" > 
<input type= "submit" id = "save" value ="Save" /> 
</form> 
<div id= "test"></div> 
</body> 
</html> 
+0

''post'include來自django projectinto腳本的代碼https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/#ajax – Jisson

0

......你有什麼問題?來自您的Javascript控制檯的任何信息?也許你還沒有設置你的django應用程序來使用CSRF protection

+0

,謝謝你的回答。我的代碼的其他部分可以嗎? 。以下是從jquery調用python fn的方法。 1)$。getJSON(「http://127.0.0.1:8000/viewname?callback= 2)$。getJSON(」http://127.0.0.1:8000/url?callback= – Jisson

相關問題