0

在我的视图中,我添加了一个按钮,当我单击它时,会调用 Controller 类。View (textfield values) 中的值将通过 Web 服务的 URL 发送。然后服务器会返回一个如下所示的 JSON 字符串;

{“价值”:“成功”}

现在,我需要将此 JSON 字符串发送回视图,视图将根据 JSON 响应提醒用户。如果 JSON 返回 SUCCESS,则会显示 Success 警报,如果 JSON 返回 FAIL,则会显示 Fail 警报。

1.) 在我的代码中,我只能显示来自 VIEW 的 JSON 响应,但是如何将它发送到控制器?(var text = response.responseText;显示 JSON 响应)

2.) 我怎样才能将字符串与视图分开,并且只从 JSON 响应中获取 SUCCESS 或 FAIL 字符串?

按钮实现,来自视图类

xtype:'button',
                   id:'when_button_click',
                   text:'Send',
                   ui:'confirm',

控制器类

Ext.define('myapp.controller.testcont', {

                  extend: "Ext.app.Controller",
                  config: {
                  refs: {
                  newNoteBtn: "#when_button_click"
                  },
                  control: {
                  newNoteBtn: {
                  tap: "onNewNote"
                  }
                  }
                  },
                  onNewNote: function () {
 var values = Ext.getCmp('form').getValues();
                 console.log("inside onNewNote function");

       Ext.Ajax.request({
                        url: 'http://call.com/the_webservice',
                        params : values,

                        failure: function (response) {
                        var text = response.responseText;
                         console.log("fail");

                        },                              success: function (response) {
                        var text = response.responseText;
                         console.log("success");

                        }

                        });



                  }

                  // init and launch functions omitted.
                  });
4

1 回答 1

1

1.) 在我的代码中,我只能显示来自 VIEW 的 JSON 响应,但是如何将它发送到控制器?

为什么要将值传递回viewfrom controller

我认为没有任何正当理由这样做。

您可以像这样Ext.Msg.alert在控制器本身successfailureWeb 服务上显示

.....
.....
url: 'http://call.com/the_webservice',
params : values,

failure: function (response) {
   var text = response.responseText;
   Ext.Msg.alert('Error','Error while executing Web Service');
},

success: function (response) {
   var text = response.responseText;
   Ext.Msg.alert('Success','Web Service code successfully executed');
},
.....
.....

2)我怎么能将字符串与视图分开,只从 JSON 响应中获取 SUCCESS 或 FAIL 字符串?

编辑:

做这样的事情..

var result = Ext.decode(response.responseText);

// result.value = SUCCESS or FAIL
Ext.Msg.alert('Message',result.value);
于 2012-05-06T15:47:02.647 回答