2012-04-17 59 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