只是有一些樂趣,並試圖同時學習JQuery和Django。我認爲編寫基於瀏覽器的終端應用程序會很好用。使用JQuery Terminal Plugin和Django與jsonrpc處理錯誤
這裏的背景:
- 我的應用程序使用jsonrpc Django的jsonrpc這裏:
https://github.com/samuraisam/django-json-rpc而Jquery的終端 插件在這裏:http://terminal.jcubic.pl/
我的控制檯頁面看起來像這樣:
{% load staticfiles %}
<!DOCTYPE HTML>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="{% static "goat/jquery.terminal-0.7.10.min.js" %}"></script>
<link rel="stylesheet" type="text/css" href="{% static "goat/jquery.terminal.css" %}">
</head>
<body>
<div id="term"></div>
<script>
jQuery(function($) {
$('#term').terminal("http://goatgruff.com/json/", {
greetings: "Menu: (R)egister (L)ogin"});
});
</script>
</body>
</html>
我的json views.py使用與json-rpc相同的示例...
from jsonrpc import jsonrpc_method
@jsonrpc_method('sayHello')
def whats_the_time(request, name='Lester'):
return "Hello %s" % name
@jsonrpc_method('gimmeThat', authenticated=True)
def something_special(request, secret_data):
return {'sauce': ['authenticated', 'sauce']}
很酷。所以問題:
當我在我的終端鍵入「sayHello Matt」時,Ajax調用起作用,並以「Hello Matt」作爲響應。只是很迷人。但是如果我輸入一個不在views.py中的方法,我會得到一個醜陋的AJAX錯誤。
我想很好地處理這個錯誤,並告訴用戶沒有方法。因爲我必須在視圖中命名方法,所以我不能在那裏有一個錯誤處理程序。我想知道是否應該在urls.py中加入try/catch,或者我的JQuery應該通過解析返回的內容來處理錯誤 - 我不確定那個對象是什麼樣子的,以及如何得到結果。
正確方向的幾個指針會幫助我學習。
感謝,
馬特
你從python中得到什麼樣的JSON,哪裏沒有方法? – jcubic