2012-04-17 58 views
2

我試圖寫一個Ajax視圖測試...視圖配置,像這樣:測試AJAX後在TestApp和金字塔

@view_config(name='new', context='resource.Events', renderer='json', 
      request_method='POST', xhr=True) 
def event_view(self): 
    # ... 

在我的測試,我想創建一個ajax後所以我嘗試:

extra_environ = {'X_REQUESTED_WITH' : 'XmlHttpRequest'} 
# also tried setting HTTP_X_REQUESTED_WITH 

self.testapp.post('/events/new', params=post_params, extra_environ=extra_environ) 

但該帖子永遠不會路由到我的看法。 request.is_xhr參數永遠不會被設置爲True。

應該是一個簡單的答案,但我無法在任何文檔或其他地方找到它。任何人都可以推薦如何做到這一點?

謝謝!

回答

2

看起來我沒有正確套上'xmlhttprequest'。需要是:

extra_environ = {'HTTP_X_REQUESTED_WITH' : 'XMLHttpRequest'} 

代碼在發現這一點:

的WebOb/request.py線472

不幸需要這個代碼周圍挖。也感到驚訝的事情。

1

在我的情況下,它僅僅是設置xhr =真在發佈請求。

self.testapp.post('/events/new', params=post_params, xhr=True) 
+0

這應該被標記爲答案。 – Greg0ry 2015-10-14 09:20:48