We are developing an application with Script.aculo.us 1.7.0 &
Prototype 1.5.0 which used personal certificates to sign important
requests, in Firefox we use window.crypto.signText and with IE activeX
Capicom. Here is the problem.
The application send through Ajax.Request data & signed data, in
Firefox works OK, but in IExploter crash the Ajax.Request, we are sure
that the problem is with ActiveX Capicom because if we comment this
part, Ajax.Request works OK. Of course, CAPICOM functions works OK whitout AJAX.REQUEST object.
Here is Ajax.Request that return onFailure "Error 122 -- unknow" and
onException "the system cannot locate the resource specified".
var op_dom = {
method: 'get',
onLoading: function(request){
Element.show('loading', {duration: 0.3});
},
onSuccess: function(t) {
Element.update('contentdomLayer', t.responseText);
Element.show('domLayer', {duration: 0.3});
},
onComplete: function(request){
Element.hide('loading', {duration: 0.3});
},
onFailure: function(t){
alert('Error ' + t.status + ' -- ' + t.statusText);
},
onException: function(xhr, exception) {
var description = '';
for (var property in exception) {
description += property + '=' + exception[property] + '\n';
}
alert('Exception: ' + exception + '\n' + description);
}
};
if (setFirmafunc($('Formulario'))) {
new Ajax.Request('index.php?ajax=true&enti=' + $('enti').value + '&ofi=' + $('ofi').value + '&dc=' + $('dc').value + '&cuenta=' + $('cuenta').value + '&StrFirma=' + $('StrFirma').value+ '&StrXMLE=' + $('StrXMLE').value, op_dom);
}
The setFirmafunc($('Formulario') function, works OK when it is running
without Ajax.Request
function setFirmafunc(form){
if(window.confirm('{LANG_TEXT_MSN_FIRMA}')){
if(browser.isIE) return firmarFormulario(form.name)
else if (browser.isGecko) return signForm(form, window)
}else{
return false;
}
}