我已經在終端中運行以下命令來驗證我目前的CherryPy安裝「請求」對象有沒有屬性「JSON」
python -c "import cherrypy;print cherrypy.__version__"
3.3.0
但是,下面的代碼導致錯誤:
@cherrypy.expose
@cherrypy.tools.json_in()
def observe(self, urlParam1=None):
print cherrypy.request.json
return ""
運行此我得到以下錯誤:
File "C:\Anaconda\lib\site-packages\cherrypy\__init__.py", line 224, in __getattr__
return getattr(child, name)
AttributeError: 'Request' object has no attribute 'json'
編輯:
這是我如何發送請求:
var insertJSON = JSON.stringify(insertObj);
$.ajax({
type : "POST",
contentType : "application/json",
url : 'http://10.XX.X.XXX:XXXX/observe',
data : insertJSON,
dataType : "json",
success : function(result) {
alert('observation inserted');
}
});
編輯2: 我與PyDev的做這一切在Eclipse中。如果我在cherrypy.request中按住control並點擊請求,它會打開文件cherypy__init__.py,這應該是預期的。但是,如果我按住json,則它不知道文件的位置。
我已經試過手動卸載庫 - 然後從https://pypi.python.org/pypi/CherryPy/3.2.4重新下載,並把相應的文件夾在C:\蟒蛇\ LIB \站點包
你沒有回答他的問題/解決他的錯誤。 – Natecat
問題不在於退貨,而在於處理請求。 返回getattr(兒童,名字) AttributeError:'請求'對象沒有屬性'json' –
我的文件「C:\ Anaconda \ lib \ site-packages \ cherrypy \ __ init__.py」,第224行,在__getattr__中看到。你如何發送json到處理程序?你可以告訴我們你的http請求嗎? –