先看这个小问题:<html>
<head>
<title>ext JS ajax</title>
<link type="text/css" rel="Stylesheet" href="../../ext-3.0/resources/css/ext-all.css" />
<style type="text/css">
#panel1 
{
margin:50px
}
</style>
</head>
<body>
<div id='panel1'></div>
<script type="text/javascript" src="../../ext-3.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="../../ext-3.0/ext-all.js"></script><script type="text/javascript">Ext.onReady(function(){
    Ext.QuickTips.init();
    var form1=new Ext.FormPanel({
        renderTo:"panel1",
        width:500,
        height:300,
        frame:true,
        title:"ajax提交",
        collapsible:true,
        minButtonWidth:60,
        labelAlign:"right",
        defaultType:"textfield",
        items:[{
            fieldLabel:"用户名",
            id:"txtName",
            allowBlank:false,
            blankText:"用户名不能为空!"
        },{
            fieldLabel:"密码",
            allowBlank:false,
            blankText:"密码不能为空!"
        },{
            fieldLabel:"备注"
        }],
        buttons:[{
            text:"提交",
            handler:function() {
                if(form1.form.isValid()) {
                    form1.form.submit({
                        url:"01ajax.ashx",
                        waitMsg:"正在提交....",
                        success:function(from,action) {
                            Ext.Msg.alert("哈哈成功了");
                        },
                        failure:function(form,action) {
                            Ext.Msg.alert(null,"发生了错误");
                        }
                    });
                }
            }
        },{
            text:"重置",
            handler:function() {
                form1.form.reset();
            }
        }]
    });
});
  </script>
</body>
</html>
<%@ WebHandler Language="C#" Class="_01ajax" %>using System;
using System.Web;public class _01ajax : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        string str = "{name:\"" + context.Request["txtName"] + "\"}";
        context.Response.Write(str);
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }}
这个代码运行了,为什么会弹出“发生了错误”???调试的时候str里面有值以上代码在Firefox3.5或者Chrome上都不能运行,点两个按钮 都 一点反应都没有为什么ext为出现兼容问题??昨天写的GridPanel也是不兼容,在非ie下右键菜单 不显示??
ext不是说已经封装好兼容问题了吗??

解决方案 »

  1.   

    返回的数据格式应该是 {success:true,name:"xxxx"}
    FF3.5下测试下来可以的。按【提交】可以递交并返回数据(格式如上的话)。
      

  2.   

    我用的是ext3.0,在非ie下两个按钮都一点反应都没有
      

  3.   

            http://www.extjs.com/deploy/ext-3.0.0/docs/resources/css/ext-all.css
            http://www.extjs.com/deploy/ext-3.0.0/docs/resources/ext-base.js
            http://www.extjs.com/deploy/ext-3.0.0/docs/resources/ext-all.js
      

  4.   

    ext3.0 FF3.5下测试下来也是可以的。
      

  5.   

    ext3.0在Windows上OK,但是在RedHat5上有错