1

我在 extjs4 MVC 工作,我一直在处理创建问题答案页面功能的任务。有 4 个问题要显示有选项。我在控制器中获得了所有选定的问题和答案。但我不知道如何发送使用模型方法来服务端。我在这一点上被卡住了。

这是我的一些控制器代码 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)这是我在萤火虫中得到了一些输出

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
        }   

});
4

2 回答 2

1

如果您使用 Ext MVC 并且您的问题是model存储在 a 中的实例store,您可以使用store.sync()它将以不同状态(添加、编辑、删除等)批量处理数据并将它们与相关存储或模型代理 url 同步,或者指定的 api url。

这具有在单个请求中发送回对象数组的好处,但是当然您需要在处理之前在服务器端将它们分开。

于 2013-01-22T15:14:28.570 回答
0

在您的函数中,您可以使用 Ext.Ajax.request 发送它们

    Ext.Ajax.request({

      url: 'your_server_page.php ',
        params: { 
           Your_Object_Name  : JSON.stringify(Your_Object_Array)
       }                                        
});
于 2013-01-22T13:33:07.870 回答