js ajaxfileupload.js上傳報(bào)錯(cuò)的解決方法
來(lái)源:易賢網(wǎng) 閱讀:1487 次 日期:2016-07-06 09:22:16
溫馨提示:易賢網(wǎng)小編為您整理了“js ajaxfileupload.js上傳報(bào)錯(cuò)的解決方法”,方便廣大網(wǎng)友查閱!

這篇文章主要為大家詳細(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);

      }

     })

按照教程,這樣子上傳的話是沒(méi)有問(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] ); 

        } 

  }

以上就是面對(duì)ajaxupload.js上傳報(bào)錯(cuò)問(wèn)題的解決方法,希望能幫助大家解決困難

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:js ajaxfileupload.js上傳報(bào)錯(cuò)的解決方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)