1

いくつかのデータ (画像、テキストなど) を Posts コントローラーに送信したい:

    $('#home').click(function (){
        var xhr = new XMLHttpRequest();
        xhr.open("POST","/Portfilo/posts/test",true);
        xhr.send("id=10");
        xhr.onreadystatechange=function()
        {
            if (xhr.readyState==4 && xhr.status==200)
            {
                alert(xhr.responseText);
            }
        }
    });

テスト アクションは次のとおりです。

    public function test()
    {
        $this->layout = 'ajax';
        //$id = $this->params['named']['id'];


        if($this->request->named){
            echo "Yesssssss";
        }
        else {
            echo 'Oh No';
        }

    }

この接続からこれらのデータを取得する方法 (xmlhttprequest)。

この記事を読みまし たが、次のような関数またはプロパティ:

// Passed arguments

$this->request->pass;

$this->request['pass'];

$this->request->params['pass'];

または

// named parameters

$this->request->named;

私に「Oh Nooooo」メッセージを返します。

このリクエストからこれらのパラメータとデータを取得する方法は?

4

1 に答える 1

1

POSTメソッドを介してtestアクションにデータを送信する場合、配列を使用してデータを取得できます。$this->request->dataこの配列には、 によって送信されたすべての変数が含まれPOSTます。

あなたの場合、これを試すことができます:

public function test(){
        $this->layout = 'ajax';

        if($this->request->data['id']){
            echo "Yesssssss";
        }
        else {
            echo 'Oh No';
        }
}
于 2012-12-07T11:39:26.943 に答える