问题
I'm at a loss. I found a few things that mentioned IE needed to have the response type specified and I changed that to text/html and that did nothing for me.
There Error:
Could not complete the operation due to error c00ce56e. prototype.js, line 1564
Points to in prototype.js:
if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
this.status = this.getStatus();
this.statusText = this.getStatusText();
this.responseText = String.interpret(transport.responseText); <!--- ERROR is here --->
this.headerJSON = this._getHeaderJSON();
}
The function called from an onClick() in an href:
function f(op, cl) {
if(op && cl) {
new Ajax.Updater('favorites-' + cl, '/fav.php',
{
onComplete: function(transport) {
if(transport.responseText == 1 && cl) $('favorites-' + cl).remove();
else return transport.responseText;
},
onException: function(r, e) {
alert('Updater ' + e);
},
method: 'get',
parameters: { cl: cl, op: op },
encoding: 'UTF-8',
contentType: 'text/html'
});
}
}
回答1:
Error C00CE56E typically happens when your script returns an encoding (by Content-Type charset parameter or <?xml encoding
) that IE doesn't recognise, for example if you say ‘utf8’ instead of the correct ‘UTF-8’. This has to be fixed at the server-side.
What is the Content-Type header your server is sending?
来源:https://stackoverflow.com/questions/1540750/internet-explorer-7-8-issue-with-prototype-1-6-1-could-not-complete-the-oper