【发布时间】:2018-08-09 04:43:57
【问题描述】:
function getData(cardNumber) {
var path = g_contextPath + '/test/demo/searchdata';
var vData = {"cardNumber":cardNumber};
$.blockUI();
$.ajax({
type: 'GET',
url : path,
data : vData,
cache : false,
dataType : "json",
async : true,
success : function(output) {
console.log("No data found for the card number : " + output);
$.unblockUI();
},
error : function(jqXHR, textStatus, errorThrown ){
alert(errorThrown);
$.unblockUI();**`strong text`**
}
});
}
虽然调用上述函数在 chrome 中工作得非常好,但在 Internet Explorer 9 中测试时,它调用了两次,一次是预期的,另一次是匿名调用。 我的 Eclipse 控制台显示以下错误:
ERROR [org.apache.struts2.dispatcher.Dispatcher] (http-/0.0.0.0:8080-8) 处理请求时发生异常:没有为命名空间 [/test/demo] 和操作名称 [ undefined] 与上下文路径 [/myapp] 关联。:没有为命名空间 [/test/demo] 映射的操作和与上下文路径 [/myapp] 关联的操作名称 [undefined]。 - [未知位置]。
当我评论 $.blockUI();那么我的 Eclipse 控制台中没有任何错误。
对于其他要求,我使用了以下 js 使用jQuery blockUI插件V2.53,jQuery JavaScript Library V1.8.2,jquery-ui-1.9.1.custom.js,jquery.dataTables.js,
以及使用 Struts 2 的 java 后端
我还添加了 $j = jQuery.noConflict();在 jquery(document).ready(function(){}); 否则 $.blockUI 不起作用。
【问题讨论】:
-
使用最新的 JqueryBlock.js 版本(2.70.0)解决了这个问题。
标签: ajax internet-explorer-9 anonymous-function jquery-blockui