Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当页面上存在f:ajax时,不包括oamSubmit.js_Javascript_Ajax_Jsf_Myfaces - Fatal编程技术网

Javascript 当页面上存在f:ajax时,不包括oamSubmit.js

Javascript 当页面上存在f:ajax时,不包括oamSubmit.js,javascript,ajax,jsf,myfaces,Javascript,Ajax,Jsf,Myfaces,我在使用myfaces时遇到了一个让我发疯的奇怪问题。我尝试了版本2.2.10和2.2.12。我也使用primefaces 6.0,但这可能不相关 每当我在页面上包含一个f:ajax标记时,commandLink就不再工作,我在JavaScript控制台中得到一个错误: ReferenceError: myfaces is not defined 深入研究发现,当页面上有f:ajax标记时,不再生成以下行: <script type="text/javascript" src="/con

我在使用myfaces时遇到了一个让我发疯的奇怪问题。我尝试了版本2.2.10和2.2.12。我也使用primefaces 6.0,但这可能不相关

每当我在页面上包含一个f:ajax标记时,commandLink就不再工作,我在JavaScript控制台中得到一个错误:

ReferenceError: myfaces is not defined
深入研究发现,当页面上有f:ajax标记时,不再生成以下行:

<script type="text/javascript" src="/console/javax.faces.resource/oamSubmit.js.jsf?ln=org.apache.myfaces"></script>

当我手动添加此脚本行时,一切都再次正常工作!我通过在标记后面添加folling javascript来实现这一点:

<script>
if (!window.myfaces) {
  document.write(unescape('%3Cscript type="text/javascript" src="/console/javax.faces.resource/oamSubmit.js.jsf?ln=org.apache.myfaces"%3E%3C/script%3E'));
}
</script>

如果(!window.myfaces){
write(unescape(“%3Cscript type=“text/javascript”src=“/console/javax.faces.resource/oamSubmit.js.jsf?ln=org.apache.myfaces”%3E%3C/script%3E');
}

尽管这项技术似乎一切都很好,但它让我感到不得不这么做的不安。有人能解释一下这个问题的原因吗?

这里也有同样的问题。我偶然发现 并且发现这个问题只存在于javax.faces.PROJECT_STAGE=Production中

添加

<context-param>
    <param-name>org.apache.myfaces.JSF_JS_MODE</param-name>
    <param-value>minimal</param-value>
</context-param>

org.apache.myfaces.JSF_JS_模式
最小的
xml为我解决了这个问题