2013-01-14 3 views
0

가능한 중복에 extjs 데이터를 전송하는 방법 :
How to send output with multiple values from extjs to Yii controller actionYII 컨트롤러 액션에

내가 extjs라는 및 YII 프레임 워크에서 작업하고 있습니다. extjs에 객관식 질문지를 디자인했습니다. Yii 컨트롤러 기능은 데이터베이스에서 이러한 질문을 제공하는 extjs 저장소와 함께 제공됩니다.

이제 사용자가 선택한 답변 optionId을 데이터베이스에 저장하려고합니다. 즉 extjs에서 Yii 컨트롤러 동작에 대해 사용자가 선택한 을 선택한 모든 사용자가 해결 한 질문 questionId을 보내려합니다. 제출 버튼 이벤트에 대한 코드는 다음과 같이 작성했습니다.

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); 
        }// End of if statment 
       }// End of inner for loop 
      }//End of outer for loop 
    }// End of check function 
});//End of Controller 

따라서 yii 컨트롤러 동작에 필요한 데이터를 보내려면 어떤 수정이 필요합니다. 난 정말 당신은 예를 들어 AJAX 와 컨트롤러 액션에 데이터를 게시해야

+0

자바 스크립트 또는 PHP 또는 둘 모두를 묻는 중입니까? –

+0

나는 php 각하를 요구하고있다 ... – user1722857

답변

1

... 도움이 필요합니다 :

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에 당신이 가진 것 사이트/savequestions

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() 
} 
관련 문제