0

私はextjs + yiiで作業しています。私のサーバー側は yii フレームワークで、クライアント側は extjs です。ここで、extjs の送信ボタンの出力を yii アクションに渡したいと思います。実際の質問は Yii フレームワークで書かれたサーバー側のアクションから来る extjs で 20 の質問の多肢選択問題用紙を作成しています。ここまでは正常に動作しています。

それぞれのラジオ ボタンを回答としてマークしてすべての質問を解決した後、送信ボタンをクリックすると、これらの 20 個の質問を送信しuserIdquestionIdラジオ ボタン オプションを yii コントローラー アクションに選択します。送信ボタンのアクションを次のように記述しました。

     check:function()
            {
        console.log("Inside check function.");
        //creating objects in javascript
          var obj=new Object();
          for(var i=0;i<=5;i++)
          {
                var inputs = document.getElementsByName(i); 
                var radio = "";  
                for (var j = 0; j < inputs.length; j++) {
                    if (inputs[j].checked) {
                        name = inputs[j].name;
                        value  = inputs[j].value;
                        //obj[i].name1=name;
                        obj[i]={'questionId':name,'option':value};
                        console.log("questionId="+name +" value="+ value);
                        console.log("object name="+ obj[i].questionNo+" Object value="+obj[i].option);
                    }
                }
          }
    }
});

だから私は、送信ボタンのクリックに関するすべての質問を取得questionIdしています。ここで、すべてのデータを yii アクションoptionValueに送りたいと思います。では、それを extjs アクションに送信する方法は?questionidoptionValue

4

1 に答える 1

0

たとえば、AJAXを使用してコントローラーのアクションにデータを投稿する必要があります:site/savequestions

   Ext.Ajax.request({
        url:"site/savequestions",
        method: "POST",
        params: {'qid': name, 'aid':value},
        success: function(){
            console.log("ok");
        },
        failure: function(response, opts){
            console.log("failed");
        },
        headers: { 'Content-Type': 'application/json' }
    });

そして、コントローラーでSiteControllerあなたが持っているでしょう

public function actionSavequestion()
{
    $questionId = Yii::app()->request->getParam('qid');
    $anserId = Yii::app()->request->getParam('aid');
    //... do stuff here

    echo json_encode(array('success' => true));
    exit()
}
于 2013-10-23T11:04:31.303 に答える