2013-08-27 54 views
0

我通過使用這個幫助教程來使用web.py框架。

python and ajax

但我不明白是什麼做這些$登錄tutorial.html意味着

這些變量與$跡象顯示,因爲它是當我嘗試瀏覽tutorial.html即

通過本地主機

$ DEF與(格式文本) $:form.render() $文本

下面是從tutorial.html HTML

$def with (form, text) 

<!doctype html> 

<html> 

<head> 
    <title>Python and AJAX tutorial for beginners with webpy and jQuery</title> 
    <link rel="stylesheet" type="text/css" href="/static/tutorial.css" /> 

    <script type="text/javascript" src="/static/jquery.js"></script> 

    <script type="text/javascript"> 
          jQuery(document).ready(function() { 
          jQuery(".button").click(function() { 
            var input_string = $$("input#textfield").val(); 
            jQuery.ajax({ 
              type: "POST", 
              data: {textfield : input_string}, 
              success: function(data) { 
              jQuery('#foo').html(data).hide().fadeIn(1500); 
              }, 
              }); 
            return false; 
            }); 
          }); 

        </script> 
</head> 

<body> 
    <br> 
    <form class="form" method="post"> 
    $:form.render() 
    <input class="button" type="submit" value="send"/>  
    </form> 

    <br><br> 
    <span id="foo">$text</span>   
</body>  
</html> 

當我已經按下「發送」按鈕,然後下面的錯誤信息已經顯示了:

「錯誤響應

錯誤代碼501

消息:只能發佈到CGI腳本。

錯誤代碼的解釋:501 =服務器不支持此操作」

有沒有誰在使用web.py人?或者誰瞭解這個問題?

+0

聽起來像你的點擊事件沒有被綁定,或者你沒有在你的ajax請求中設置正確的目標url(目前沒有目標url) –

回答

3

教程本身解釋它:

的web.py模板語言使用「$」符號來表示Python表達式(並傳遞到模板參數)。要使用實際的'$',只需使用'$$'將其轉義即可。請注意,在jQuery中使用美元符號表示jQuery對象是一種流行的習慣,但我們可以通過在JavaScript中使用「jQuery」來解決該衝突。還有其他方法,但我喜歡這種方法,因爲它的簡單性和感覺與Python命名空間相同。

+0

感謝Ter0: 我已經嘗試過添加$$符號以及「$$ def(form,text)」,但仍然顯示這些$ signes,因爲它在tutorial.html上。 – Khokhar

+0

我是Python新手,我試圖訪問.html頁面,就像我們在PHP中所做的那樣,即localhost/tutorial.html,但我不確定它是否正確。 如果我嘗試訪問app.py(本教程中提到),那麼應用程序的所有源代碼。py在瀏覽器上顯示:@ 我不知道發生了什麼... – Khokhar

0

這些通常用於表示表達式。在諸如Python,JSP等語言的大部分和諸如JQuery等框架中,都使用了它們。

我不知道很多關於蟒蛇,但說我要表現出從請求/會話範圍的價值,所以我就可以使用

值= $ {}設爲myVal

與之相似的javascript,爲了表示jquery,可以使用$ ...所以jQuery(「#some-element」)也可以寫成$(「#some-element」)。