是否可以XMLHttpRequest从$.ajax()函数的成功回调中访问对象?具体来说,我需要访问XMLHttpRequest.responseBodyIE.根据文档,返回的jqXHR对象不会公开.responseBody属性.
这似乎是一个小问题,在处理二进制数据时会产生巨大影响.如果.responseBody属性或底层XMLHttpRequest对象不可访问,我将不得不跳过jQuery for ajax并将其编码,shudder,纯javascript.
我实际上在寻找responceBody变量,而不是responceText从内部可以轻易访问的变量$.ajax()
我找到了这个主题(如何从jQuery.ajax获取响应状态代码?),其中它解释了如何获得返回状态,但我正在使用$.post它使它有点不同.
我有以下代码:
$(function() {
$('#update_marker').submit( function(e) {
e.preventDefault();
$.post($("#update_marker").attr("action"), $("#update_marker").serialize(), function(data) {
if( $.trim(data).indexOf('<')==0 ) {
new Messi( lang['dist_general_error'], {title: 'Ops...', titleClass: 'anim error', buttons: [{id: 0, label: 'Fechar', val: 'X'}]});
} else {
var json = $.parseJSON( data );
if( json.status=="success" ) {
new Messi( json.msg );
} else {
new Messi( json.msg, {title: 'Ops..', titleClass: 'anim error', buttons: [{id: 0, label: 'Fechar', val: 'X'}]});
}
}
});
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
所以我以为我会把$.post呼叫改成类似的东西 …