IE显然不适用于ajax

时间:2016-07-26 13:14:04

标签: jquery ajax spring internet-explorer

有很多相关的问题和答案(1),但我无法解决我的问题 与ajax请求。它适用于除IE之外的所有浏览器。 IE不会执行成功阻止 脚本:

 <script>
  $.ajax({
    type : 'post',
    async : false,//testing for IE
    cache : false,
    dataType : 'text',
    url : '${pageContext.request.contextPath}/pages/recordInsert',
    data : $('#newPlace #place').serialize(),
    success : function(data, textStatus) {
        console.log('record inserted');
        loadPlaces();//reloading data in div
    }
});
</script>

和控制器:

@RequestMapping("pages/recordInsert")
public ResponseEntity<String> placeInsert(@ModelAttribute("place") Place place) { 
@SuppressWarnings("unused")
///some useful code
    Integer temp = placeService.insertPlace(place);
    return new ResponseEntity<String>(HttpStatus.OK);
}

但是,当我开始使用IE开发者工具(F12)时,所有在IE中都可以完美运行。 版本:IE 9,jquery 2.1.4

2 个答案:

答案 0 :(得分:1)

Internet Explorer 9(以及8)中,console对象仅在打开开发人员工具时才会显示特定选项卡。如果隐藏该选项卡的开发人员工具窗口,则对于您导航到的每个页面,控制台对象将保持公开状态。如果打开新选项卡,则还必须打开该选项卡的开发人员工具,以便公开控制台对象。

因此,您必须将代码更改为:

if (console in window) {
  console.log('Record inserted!');
}

答案 1 :(得分:0)

替换此行:

console.log('record inserted');

if (window.console) console.log('record inserted');