欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js ajaxfileupload.js上傳報(bào)錯(cuò)的解決方法

 更新時(shí)間:2016年05月05日 14:16:13   作者:咸魚老弟  
這篇文章主要為大家詳細(xì)介紹了js ajaxupload.js上傳報(bào)錯(cuò)的解決方法,感興趣的小伙伴們可以參考一下

相信大家在工作中經(jīng)常用到文件上傳的操作,因?yàn)槲沂歉闱岸说模赃@里主要是介紹ajax在前端中的操作。代碼我省略的比較多,直接拿js那里的

$.ajaxFileUpload({
   url:'www.coding/mobi/file/uploadSingleFile.html',//處理圖片腳本
   secureuri :false,
   fileElementId :'image2',//file控件id。就是input type="file" id="image2"
   dataType : 'json',
   success : function (data, status){
    console.log(data);
   },
   error: function(data, status, e){
    alert(e);
   }
   })

按照教程,這樣子上傳的話是沒有問(wèn)題的,可是它一直有一個(gè)報(bào)錯(cuò)。報(bào)的是什么錯(cuò)有點(diǎn)忘了,不好意思 ,因?yàn)橛猛旰芫貌庞浀醚a(bǔ)回這篇文章,但是要修改它的源碼,那個(gè)錯(cuò)誤就可以解決了 

它源碼的最后一段是這樣子的

uploadHttpData: function( r, type ) {
 var data = !type;
 data = type == "xml" || data ? r.responseXML : r.responseText;
 // If the type is "script", eval it in global context
 if ( type == "script" )
  jQuery.globalEval( data );
 // Get the JavaScript object, if JSON is used.
 if ( type == "json" )
  eval( "data = " + data );
 // evaluate scripts within html
 if ( type == "html" )
  jQuery("<div>").html(data).evalScripts();
  //alert($('param', data).each(function(){alert($(this).attr('value'));}));
 return data;
 }

將這一段改為這樣子

uploadHttpData: function( r, type ) {
 var data = !type;
 data = type == "xml" || data ? r.responseXML : r.responseText;
 // If the type is "script", eval it in global context
 if ( type == "script" )
  jQuery.globalEval( data );
 // Get the JavaScript object, if JSON is used.
 if ( type == "json" ){
  // 因?yàn)閖son數(shù)據(jù)會(huì)被<pre>標(biāo)簽包著,所以有問(wèn)題,現(xiàn)在添加以下代碼,
  // update by hzy
  var reg = /<pre.+?>(.+)<\/pre>/g; 
  var result = data.match(reg);
  result = RegExp.$1;
  // update end
  data = $.parseJSON(result);
  // eval( "data = " + data );
 // evaluate scripts within html
 }
 if ( type == "html" )
  jQuery("<div>").html(data).evalScripts();
  //alert($('param', data).each(function(){alert($(this).attr('value'));}));
 return data;
 }

這樣就可以正常使用了。

另一種情況:ajaxFileUpload 報(bào)這錯(cuò)jQuery.handleError is not a function

版本1.4.2之前的版本才有handlerError方法,例子里使用的Jquery是1.2的,解決方法:

為了能夠繼續(xù)使用ajaxfileupload上傳我們的附件,只好將下面代碼拷進(jìn)我們的項(xiàng)目中的ajaxfileupload.js文件中

handleError: function( s, xhr, status, e )  { 
  // If a local callback was specified, fire it 
    if ( s.error ) { 
     s.error.call( s.context || s, xhr, status, e ); 
    } 
 
    // Fire the global callback 
    if ( s.global ) { 
     (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] ); 
    } 
 } 

更多精彩內(nèi)容請(qǐng)參考專題《ajax上傳技術(shù)匯總》《javascript文件上傳操作匯總》《jQuery上傳操作匯總》進(jìn)行學(xué)習(xí)。

以上就是面對(duì)ajaxupload.js上傳報(bào)錯(cuò)問(wèn)題的解決方法,希望能幫助大家解決困難,也希望大家繼續(xù)關(guān)注腳本之家更多精彩內(nèi)容。

相關(guān)文章

  • js 實(shí)現(xiàn)watch監(jiān)聽數(shù)據(jù)變化的代碼

    js 實(shí)現(xiàn)watch監(jiān)聽數(shù)據(jù)變化的代碼

    這篇文章主要介紹了js 實(shí)現(xiàn)watch監(jiān)聽數(shù)據(jù)變化的代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 如何在js代碼中消滅for循環(huán)實(shí)例詳解

    如何在js代碼中消滅for循環(huán)實(shí)例詳解

    for循環(huán)對(duì)大家來(lái)說(shuō)都不陌生,下面這篇文章主要給大家介紹了關(guān)于如何在js代碼中消滅for循環(huán)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 最新評(píng)論