使用prototype.js实现ajax.在ie下运行正常,但在firefox确既不运行也不报错……代码:
function getProductsort(){
var params = $('equipsort1').options[$('equipsort1').selectedIndex].value;
var url = 'getProductsort.action';
var myAjax = new Ajax.Request(
url,
{
method : 'post',
parameters : {
equipsort1:params
},
onComplete : function(request){
var action = request.responseText.parseJSON();
var values = action.productsort;
alert(values);
},
asynchronous:true

}
);
}

解决方案 »

  1.   

    IE6
    IE下可以运行,但是firefox运行不了,也没报错……
      

  2.   


      http_request=false;
      //开始初始化XMLHttpRequest对象
      if(window.XMLHttpRequest){//Mozilla等浏览器初始化XMLHttpRequest过程
      http_request=new XMLHttpRequest();
      //有些版本的Mozilla浏览器处理服务器返回的未包含XML mime-type头部信息的内容时会出错.
      //因此,要确保返回的内容包含text/xml信息.
      if(http_request.overrideMimeType){
      http_request.overrideMimeType("text/xml");
      }
      }
      else if(window.ActiveXObject){//IE浏览器初始化XMLHttpRequest过程
      try{
      http_request=new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(e){
      try{
      http_request=new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(e){}
      }
      }
      //异常,创建对象失败
      if(!http_request){
      window.alert("不能创建XMLHttpRequest对象实例!");
      return false;
      }
      

  3.   

    你初始化XMLHttpRequest对象时候是否考虑到FF
    上面是一个初始化XMLHttpRequest对象的例子.
      

  4.   

    var params = $('equipsort1').options[$('equipsort1').selectedIndex].value;
    应该是在这里没有获取到对象,你查查你的jquery里面$()方法的实现过程,是否区分浏览器没有
      

  5.   

    function getProductsort(){    
        var params = $('equipsort1').value; // 这样应该就可以
        var url = 'getProductsort.action';
        var myAjax = new Ajax.Request(
            url,
            {    
                method : 'post',
                parameters : {
                    "equipsort1":params // 双引号还是要的
                },
                onComplete : function(request){
                    var action = request.responseText.parseJSON();
                    var values = action.productsort;
                    alert(values);
                },
                asynchronous:true
                
            }
        );
    }另外注意在firefox下面必须使用ID.
    你的 'equipsort1' 是否设置 id="equipsort1" 了呢?
    而在 ie 下面只要有 name='equipsort1' 就可以
      

  6.   

    对了,你在firefox,安装一个firebug插件 的东西,超级好用!
      

  7.   

    firebug,我有用啊。没报错误啊!
    我试试,如果可以加分……
      

  8.   

    好像是回调函数onComplete不执行啊!
      

  9.   

                parameters : {
                    equipsort1:params
                },
    改成
                parameters : {
                    "equipsort1":params
                },var action = request.responseText.parseJSON();我一直用
    var action = request.responseText.evalJSON();
      

  10.   

    最后一招
    function getProductsort(){try{    
        var params = $('equipsort1').options[$('equipsort1').selectedIndex].value;
        var url = 'getProductsort.action';
        var myAjax = new Ajax.Request(
            url,
            {    
                method : 'post',
                parameters : {
                    equipsort1:params
                },
                onComplete : function(request){
                    var action = request.responseText.parseJSON();
                    var values = action.productsort;
                    alert(values);
                },
                asynchronous:true
                
            }
        );
      }catch(e){
        alert(e.message);
      }
    }