EXT页面加载后台数据问题

2019-03-25 13:36|来源: 网路

我刚接触EXT,试做了一个页面,在页面打开时,加载后台取到一个ID值,显示在页面的“编号”文本输入框内,
大致代码如下:
loginForm = new Ext.form.FormPanel({ 
                labelAlign: 'left', buttonAlign: 'center', bodyStyle: 'padding:5px', 
                frame: true, labelWidth: 80, 
                items: [ 
                { 
                    xtype: "textfield", 
                    fieldLabel: "编号", 
                    name: "ContactId"        
                }, { 
                    xtype: "textfield", 
                    fieldLabel: "工程名称", 
                    name: "ProjectName", 
                    allowBlank: false, 
                    blankText: '请输入工程名称' 
                }, 
                listeners:{ 
                      render:function(){ 
                        var jsonDataObj = loginForm .getForm().getValues();
                        Ext.Ajax.request({
                            url: 'GetMaxId.ashx',
                            params: '',
                            jsonData: jsonDataObj,
                            success: function(response, options) {
                                var responseData = Ext.decode(response.responseText);
                                loginForm.getForm().setValues(responseData)[
                                { id: "ContactId", value: responseData.data.maxid }];
                            },
                            failure: function() {
                                    Ext.Msg.alert('错误', '发生错误!');
                                }
                             })
                             }
                   })




后台简易代码:
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        //省略逻辑处理
        context.Response.Write("{success:true,data:{msg:'加载成功!',maxid:newMaxId}}");
}



现在页面代码里的responseData取不到值,
response.responseText本身就没值,
而且后台返回staus都是failure,
请问我这个页面后台调用响应是不是有问题啊?!
有没有人能帮我解答一下?!谢谢
问题补充:
取不到值的问题我是找到了,
context.Response.Write("{success:true,data:{msg:'加载成功!',maxid:newMaxId}}"); 
这话给绕了:
context.Response.Write("{success:true,data:{msg:'加载成功!',maxid:'" + newMaxId + "'}}");
一开始就被双引号引着,之前代码里得到的值没办法设回去了。

现在问题页面上是得到后台返回的值了,但不清楚应该怎么传给页面控件,

还有一个,我不是想通过按钮激发取值,我是想在页面加载时,去后台取值显示在页面上。

相关问答

更多
  • 利用socket.io,前台可以和后台建立连接,后台触发事件,事件内容是数据。前台监听该事件就好。
  • 这是一门课程了,java web或者叫jsp。jsp就是由html和java脚本,等语言构成的。java程序嵌套在html里,相当于php。以网页的形式将java展现。这也就是所谓的动态。以为java程序获取的时间会变动。或者数据库变动从而引起网页的变动。 延展阅读: HTML5有以下优点: 1. 提高可用性和改进用户的友好体验; 2. 有几个新的标签,这将有助于开发人员定义重要的内容; 3. 可以给站点带来更多的多媒体元素(视频和音频); 4. 可以很好的替代FLASH和Silverlight; 5. 当 ...
  • 前后台交互其实都是通过servlet来实现的。 即servlet写数据给前台,前台展示。前台提交数据,servlet处理。 框架只是封装了servlet,提供了更加简便,更加好维护的集成模式。如果你很感兴趣框架的实现方式的话,你可以看看nutz的源代码。 nutz是国产的,有非常好的文档和注释。
  • 在点击按钮后,向js语句中的function getConnection(){}函数中传递参数,部署XML,再实现数据库的数据读取操作,然后将得到的数据返回至页面,在用AJAX处理
  • 那么你就要用到asp技术了,我学过的教材是vb语言的asp技术,,连数据库十分简单,但是你得把数据库的表建立起来。
    表的内容无非就是:用户名,密码等信息,如果还要加上验证码的话,
    我估计你也不会,在此我就不建议你用了,还有的是,vb语言你会吗?
    不会是吗,先教你一些简单的。
    数据库就用access得了,运行速度比较快,不要听别人瞎说!
    Dim sql As String
    Dim mycmd As SqlCommand
    sql = "insert into bo ...
  • 要看你用easyui的哪个组件了,一般官网上都有,我拿一个很简单的例子来说: 使用datagrid …… 这里的data-options里有url的参数,可以换为后台url地址,而后台只要返回一个符合要求的json格式的数据过来就可以了。这里的json格式可以看看官网里的要求格式。 http://www.jeasyui.com/documentation/index.php 还有一种方法是使用js来加载数据: 页面代码比较简单: js代码这么写: $('#dg').datagrid({ url:'datag ...
  • 提交服务器基本都是用 ajax 或类似技术。JSON.stringify 可以将要传的数据转成 json 字串。
  • 当你搜索一个关键词点击搜索,当前的页面代码会向百度的数据库提交你要搜索内容。 这个时候百度的数据库会自动匹配出你要搜索内容,然后再通过网页代码将搜索的结果一条一条,用网页代码呈现到你眼前! 如果对宝宝有帮助,请采纳!谢谢!
  • $.ajax({//验证编号及手机号码是否已经存在 type:'post',//可选get url:'ajaxAction!checkUserByAdd.action', data:'uNum='+encodeURI(encodeURI($("#unum").val()))+'&uPhone='+$("#uphone").val()+'&type=01',//传给后台数据 dataType:'text',//服务器返回的数据类型 可选XML ,Json jsonp script html text等 suc ...
  • Doug Stevenson对Quora的指导是我发现的最好的: Firebase云消息传递和Firebase实时数据库之间的最大区别在于:通过消息传递,即使应用程序未运行,您也可以将设备从睡眠状态唤醒。 数据库只能在应用程序当前正在运行时接收已注册侦听器的更新,并且设备未处于打盹模式(对于Android M)。 当用户在您的应用程序中并主动与其数据交互时,请使用实时数据库。 当您不知道用户是否在您的应用程序中,但您想要将它们放入您的应用程序(或让您的应用程序在您决定的特定时刻执行某些操作)时,请使用云消息 ...