在我清除了chrome cookies和缓存后,当我点击其href是一个javascript函数的链接时,我开始收到XMLHttpRequest错误。该链接会打开bootstrap modal,并在a dojo ajax component动态创建。当我点击该链接时,我收到XMLHttpRequest
错误。
jquery-1.11.3.min.js:5 XMLHttpRequest cannot load javascript:sa(5). Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
我在<header>
<script type="text/javascript"
src='<c:url value="/resources/js/dojo-release-1.10.0/dojo/dojo.js" />'
djConfig="parseOnLoad: true, usePlainJson: true, isDebug: false, async: false"></script>
和JQuery位于<body>
<script type="text/javascript"
src='<c:url value="/resources/js/jquery-1.11.3.min.js" />'></script>
动态链接<a>
:
<a data-toggle="modal" data-target="#roomModal" href="javascript:sa(5)">Deluxe Double Room</a>
JS函数在另一个文件中。
function sa(accommodationRoomId) {
var modalHeader = document.getElementById("modalHeader");
modalHeader.innerHTML += accommodationRoomId;
}
清除chrome缓存和Cookie后,此错误开始显示。我该怎么做才能解决这个错误?
PS:该项目正在Tomcat上运行。
答案 0 :(得分:2)
我改变了我的功能
onclick
并为<a>
<a data-toggle="modal" id="5" data-target="#roomModal" onclick="sa(this)">Deluxe Double Room</a>
sum = h.values.inject(0){|sum,h| sum + h[:total] }
h[0] = {:id => 0, :total => sum}