2016-07-26 7 views
1

Es gibt viele verwandte Fragen und Antworten (1), aber ich kann mein Problem mit Ajax Anfrage nicht lösen. Es funktioniert perfekt auf allen Browsern mit Ausnahme von IE. IE wird Erfolg Block nicht durchführen.
Skript:IE nicht offensichtlich funktioniert mit Ajax

<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> 

Und Controller:

@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); 
} 

Aber wenn ich in IE-Entwicklertools (F12) beginnen alle funktioniert perfekt zu im Internet Explorer. Versions: IE 9, jquery 2.1.4

+0

Welche Version von IE verwenden Sie und welche jQuery? – eisbehr

Antwort

0

Ersetzen dieser Zeile:

console.log('record inserted'); 

mit

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

In Internet Explorer 9 (und auch in 8), das Objekt wird consolenur ausgesetzt, wenn Die Entwicklerwerkzeuge werden für eine bestimmte Registerkarte geöffnet. Wenn Sie das Entwicklerwerkzeugfenster für diese Registerkarte ausblenden, bleibt das Konsolenobjekt für jede Seite verfügbar, zu der Sie navigieren. Wenn Sie eine neue Registerkarte öffnen, müssen Sie auch die Entwicklerwerkzeuge für diese Registerkarte öffnen, damit das Konsolenobjekt verfügbar gemacht wird.

So müssen Sie Ihren Code etwas ändern wie:

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