【发布时间】:2012-03-27 22:46:59
【问题描述】:
我已通过 ajax 成功请求 Basecamp XML 文件,但它抛出错误(在 Google Chrome 中):
资源被解释为“其他”,但以未定义的 MIME 类型传输。 Uncaught SyntaxError: Unexpected token
Firefox 也给我一个错误,但它是一个完全不同的错误。我无法修改 XML 文件,并且 XML 文件结构正确。我尝试并搜索,但可以找出问题所在。任何帮助将不胜感激。
这里是 jQuery 代码:
$(document).ready(function() {
$.ajaxSetup({accepts:'text/xml',cache:false});
$.ajax({
type: 'GET',
dataType: 'jsonp',
contentType: 'text/xml',
mimeType: 'text/xml',
crossDomain: true,
url: url,
beforeSend: function(xhr) {
var bytes = Crypto.charenc.Binary.stringToBytes(username+":"+password);
var base64 = Crypto.util.bytesToBase64(bytes);
xhr.overrideMimeType("text/xml;charset=UTF-8");
xhr.setRequestHeader("Authorization", "Basic " + base64);
},
complete: function(xhr, status) {
if (status === 'error' || !xhr.responseText) {
$('.result').html('<p><strong>Error:</strong> ' + status + "</p><p><strong>Response Text</strong>:<br /><pre>"+xhr.responseText+"</pre></p>");
} else {
var data = xhr.responseText;
$('.result').html("<pre>"+data+"</pre>");
}
}
});
});
【问题讨论】:
标签: jquery ajax google-chrome basecamp parse-error