Я пытаюсь избавиться от встроенного javascript, который создает mojarra для использования политики заголовка x-content-security. Это заголовок, который отключает встроенный скрипт.Не удается вызвать mojarra.ab (это, evt, 'action', false, false, false);
Для этого я добавляю класс к кнопке jsfajax, и я в основном добавляю слушателя onclickevent к элементу, который носит этот класс. Затем я вызываю mojarra.ab в этом слушателе событий. Однако исходный параметр имеет значение null, и я думаю, поэтому я не могу перейти к методу в своем компоненте.
HTTP запрос ФОРМА DATA:
j_idt240:j_idt240
javax.faces.ViewState:-xxxxxxxxxxxxxx3:xxxxxxxxxxxx7022321
javax.faces.source:
javax.faces.partial.event:click
javax.faces.partial.execute:j_idt240:j_idt241
javax.faces.behavior.event:action
javax.faces.partial.ajax:true
<h:commandButton styleClass="jsfajax" value="go" action="#{test.sayHi}">
JS:
var es = doc.getElementsByClassName('jsfajax');
for(var i = 0; i < es.length; i++){
myjsf(i, es);
}
});
function myjsf(i , es){
var e = es[i];
e.onclick = function(evt){
log(this); // outputs the button so I don't understand + jsf.ajax.request doesn't throw error
mojarra.ab(this,evt,'action',0,0);
return false;
}
}
Так посылается запрос, но он никогда не достигает метода действия.
Однако это делает (и источником является БТН):
<h:commandButton value="go2" action="#{test.sayHi}">
<f:ajax/>
</h:commandButton>