我在extjs + yii工作。我的服务器端在yii框架中,客户端在extjs中。现在我想将extjs的提交按钮输出传递给yii动作。我在extjs中创建了20个问题的多选题试卷,其实际问题将来自用Yii framewok编写的服务器端操作。到目前为止,它运作正常。
现在通过将各自的单选按钮标记为答案来解决所有问题后,点击提交按钮我想将这20个问题userId
,questionId
和所选单选按钮选项发送给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
和optionValue
。现在,我想将所有questionid
和optionValue
数据发送到yii操作。那么如何将它发送到extjs动作呢?
答案 0 :(得分: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()
}