可能重复:
How to send output with multiple values from extjs to Yii controller action
我在extjs和Yii框架中工作。我在extjs中设计了多项选择题。 Yii控制器功能与extjs商店相连,以便从数据库中提供这些问题。
现在我想将用户选择的答案optionId
保存到数据库中。即,从extjs我想发送论文所有用户解决的问题questionId
与用户选择的optionId
到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);
}// End of if statment
}// End of inner for loop
}//End of outer for loop
}// End of check function
});//End of Controller
那么为了将所需数据发送到yii控制器动作,我需要做些什么修改。我真的需要帮助...
答案 0 :(得分:1)
您应该使用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()
}