我在extjs4 MVC工作,我一直致力于创建问题答案页面功能。有4个问题可以显示有选项。我已经在控制器中获得所有选定的问题和答案。但我不知道如何使用模型方法发送到srver方面。我现在陷入困境。
这是我的一些控制器代码 1)
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].questionId+" Object value="+obj[i].option);
}// End of if statment
}// End of inner for loop
}//End of outer for loop
}// End of check function
2)这里是我在firebug中得到了一些输出
questionId=1 value=Aus QbqnsController.js:39
questionId=2 value=india QbqnsController.js:39
questionId=3 value=England QbqnsController.js:39
questionId=4 value=Srilanka
其实我想使用模型类方法save()。但我怎么能用呢 请给我一些建议。
3)这是我的模型类
Ext.define('Balaee.model.qb.QbqnsModel',{
extend: 'Ext.data.Model',
idproperty:'questionId',//fields property first position pk.
fields: ['questionId','question','languageId','userId','creationTime','questionStatusId','keyword'],
hasMany:{
model:'Balaee.model.qb.QbqnsoptionModel',
foreignKey:'questionId',
name:'options',
},
proxy:
{
type:'ajax',
api:
{
read:'http://localhost/balaee/balaee/index.php?r=QuestionBank/qbpaper/setuseranswer',
create:'http://localhost/balaee/balaee/index.php?r=QuestionBank/qbpaper/setuseranswer',
},//end of api
reader:
{
type:'json',
},//end of reader
writer:
{
type:'json',
root:'records',
},//End of writer
}
});
答案 0 :(得分:1)
如果您正在使用Ext MVC并且model
实例存储在store
中,您可以使用store.sync()
来批量处理不同的数据陈述(添加,编辑,删除等)并将它们与相关的商店或模型代理URL或指定的api url同步。
这有利于在单个请求中发送对象数组,但当然您需要在处理之前将它们在服务器端分开。
答案 1 :(得分:0)
在您的功能中,您可以使用Ext.Ajax.request
发送它们 Ext.Ajax.request({
url: 'your_server_page.php ',
params: {
Your_Object_Name : JSON.stringify(Your_Object_Array)
}
});