问题
I am having the same problem, but in the console of the F12 of IE9, it says:
SCRIPT575: Could not complete the operation due to error c00c023f.
prototype.js?v=7.6, line 1361 character 7
and if I click the second line it takes me to the script tab to that file:
Ajax.Response = Class.create({
initialize: function(request){
this.request = request;
var transport = this.transport = request.transport,
readyState = this.readyState = transport.readyState;
if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
this.status = this.getStatus();
this.statusText = this.getStatusText();
this.responseText = String.interpret(transport.responseText);
this.headerJSON = this._getHeaderJSON();
}
if(readyState == 4) {
var xml = transport.responseXML;
this.responseXML = Object.isUndefined(xml) ? null : xml;
this.responseJSON = this._getResponseJSON();
}
},
pointing the 10th line:
this.responseText = String.interpret(transport.responseText);
How can I solve this?
回答1:
Remove the encoding:
charset=ISO-8859-1
The encoding can give this problem.
回答2:
As James points out, this error is likely due to the cause discussed here: https://stackoverflow.com/a/7288000/360782. The solution offered there is unappealing in this case because it would require editing the Prototype library. Instead of doing that, I worked around the problem by overriding the respondToReadyState change method so I could trap the error. Here's the monkey patch (against prototype 1.7). Put the following in your code after Prototype is loaded but before it is used:
Ajax.Request.prototype.respondToReadyState_orig =
Ajax.Request.prototype.respondToReadyState;
Ajax.Request.prototype.respondToReadyState = function(readyState) {
// Catch the exception, if there is one.
try {
this.respondToReadyState_orig(readyState);
}
catch(e) {
this.dispatchException(e);
}
};
来源:https://stackoverflow.com/questions/7903693/ie9-javascript-error-script575-c00c023f-prototype-file