2011-08-24 99 views
0
function voip_submit() 
{ 
    var link = encodeURIComponent('/goform/az_ifx_set_voip_sip_linebasicaccount'); 
    var loc = 'page=quickstart.asp'; 
    loc += '&status='+document.az_sip.status.value; 
    loc += '&cvflag='+document.az_sip.cvflag.value; 
    loc += '&vlstatus1='+document.az_sip.vlstatus1.value; 
    loc += '&vlstatus2='+document.az_sip.vlstatus2.value; 
    var retVal = new Ajax.Request(link, { 
     method: 'post', 
     parameters: loc, 
     encoding: 'ISO-8859-1', 
     onSuccess: function(transport) { 
     submit_voip1(); 
     }, 
     onFailure: function(transport) { 
      Tiny.hide(); 
      showAlert("Apply settings failed"); 
     }  
    }); 
} 

回答

0

首先,不需要在retVal中存储新的Ajax.Request对象。 onSuccessonFailure回调是实际处理请求返回的数据(或缺少数据)的回调。

其次,你应该使用内置的原型方法对数据进行编码

function voip_submit() 
{ 
    new Ajax.Request('/goform/az_ifx_set_voip_sip_linebasicaccount', { 
     method: 'post', 
     parameters: { 
      page:  'quickstart.asp', 
      status: document.az_sip.status.value, 
      cvflag: document.az_sip.cvflag.value, 
      vlstatus1: document.az_sip.vlstatus1.value, 
      vlstatus2: document.az_sip.vlstatus2.value 
     }, 
     encoding: 'ISO-8859-1', 
     onSuccess: function(transport) { 
      submit_voip1(); 
     }, 
     onFailure: function(transport) { 
      Tiny.hide(); 
      showAlert("Apply settings failed"); 
     }  
    }); 
} 
+0

嗨Flambino谢谢您的回答。我已经解决了这个问题,而不是在Ajax请求中。它的服务器端没有发送代码200 Ok。看起来像IE是非常具体的HTTP返回码。 –