2012-02-22 6 views

答えて

32

"問題のある" の回答で検索した後、正しい構文は次のとおりです。POSTについては

$crawler = $client->request('GET', '/foo/', array(), array(), array(
    'HTTP_X-Requested-With' => 'XMLHttpRequest', 
)); 
6

メソッドは、X-Requested-WithヘッダーがXMLHttpRequestに相当するかどうかを単純にチェックします。それはあなたが要求がAJAX呼び出しであるかどうかを判断するために使用している方法だ場合、あなたが要求に適切なヘッダを追加することで、テストクライアントで動作をシミュレートすることができます

class FooFunctionalTest extends WebTestCase 
{ 
    $client = static::CreateClient(); 
    $crawler = $client->request('GET', '/foo/', array(), array(), array(
     'X-Requested-With' => 'XMLHttpRequest', 
    )); 
    // ... 
} 

詳しい情報について見つけることができますRequestオブジェクトin the source code

+0

テスト後、動作しません。 :/ – bux

+0

構文の問題、私の答えを参照してください。ありがとうございます=) – bux

2

PUT

$crawler = $client->request('POST', '/foo/', array(), array(), array(
    'HTTP_X-Requested-With' => 'XMLHttpRequest', 
    'CONTENT_TYPE' => 'application/json', 
), '{"param": "value"}'); 

$crawler = $client->request('POST', '/foo/', array('param' => 'value'), array(), 
array(
    'HTTP_X-Requested-With' => 'XMLHttpRequest', 
)); 

JSON体とPOSTPUTのために

関連する問題