2

ajaxビューのテストを作成しようとしています...ビューは次のように構成されています。

@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に設定されることはありません。

どこかで簡単な答えになるはずですが、どのドキュメントでも、または他の場所でそれを見つけることができませんでした。誰かがこれを行う方法をお勧めできますか?

ありがとう!

4

2 に答える 2

2

'xmlhttprequest'を正しくケーシングしていなかったようです。する必要があります:

extra_environ = {'HTTP_X_REQUESTED_WITH' : 'XMLHttpRequest'}

次のコードでこれを見つけました:

webob/request.py行472

残念ながら、このためのコードを掘り下げる必要があります。驚いたケースも重要です。

于 2012-04-17T09:11:21.490 に答える
1

私の場合、 postrequestでxhr=Trueを設定するだけで十分でした。

self.testapp.post('/events/new', params=post_params, xhr=True)
于 2014-12-30T07:58:51.793 に答える