网上看了一堆坑爹办法。一个文档养活千万人我真是炸了、这方法我自己测试成功了 、各取所需不一定适用所有人
修改ajaxfileupload.js
if ( xml || isTimeout == "timeout")
{
requestDone = true;
var status;
try {
status = isTimeout != "timeout" ? "success" : "error";
// Make sure that the request was successful or notmodified
if ( status != "error" )
{
// process the data (runs the xml through httpData regardless of callback)
var exists = xml.responseXML.body.textContent;
if(exists == 'undefined' || typeof(exists) == 'undefined'){
exists = xml.responseText
}
var data = eval( "data = " + exists );
//jQuery.uploadHttpData( xml.responseXML.body.textContent , s.dataType );
//eval( "data = " + xml.responseXML.body.textContent );
// eval( "data = " + Query.parseJSON(xml.responseXML.body.textContent) )
// If a local callback was specified, fire it and pass it the data
if ( s.success )
s.success( data, status );
// Fire the global callback
if( s.global )
jQuery.event.trigger( "ajaxSuccess", [xml, s] );
} else
jQuery.handleError(s, xml, status);
} catch(e)
{
status = "error";
jQuery.handleError(s, xml, status, e);
}
把 if ( status != "error" ) {后那一段 改成 我这个样子 因为 ie和 谷歌 返回json存储位置不同 ie放在 xml.responseTest里 而谷歌却放在了 xml.responseXML.body.textContent 所以 根据不同的浏览器进行取值 希望对你们也有用 现在网上太坑了艹dan