<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用插件ajaxfileupload通過ajax方式上傳文件,在火狐下出錯

      以前網站要實現了一個在線預覽文件的功能,其中后臺管理時用到了ajax上傳。我用的是一個jquery插件ajaxfileupload.js
      今天同事使用時突然報錯了(以前沒有問題,我們用的都是火狐瀏覽器,后來我讓她用其他瀏覽器沒有問題),我試了一下也出錯了。alertSyntaxError: missing ; before statementerror 這個應該是js語法錯誤。記得當時也出現過這個錯誤,不過后來怎么解決的忘記了(當然也可能是我記錯了可能)。
      調用ajaxfileupload上傳的部分代碼如下

       1 $.ajaxFileUpload
      2 (
      3 {
      4 url:'eb_price.php?'+parm,
      5 secureuri:false,
      6 fileElementId:'f_file',
      7 dataType: 'json',
      8 success: function (data, status)
      9 {
      10 fun(data)
      11 },
      12 error: function (data,status,e)
      13 {
      14 alert(e+status)// 商品;
      15
      16 }
      17 }
      18 );

      經過分析是在調用jQuery.uploadHttpData( xml, s.dataType ); 由于語法錯誤拋出了異常

      View Code
       1  try {
      2 status = isTimeout != "timeout" ? "success" : "error";
      3 // Make sure that the request was successful or notmodified
      4 if ( status != "error" )
      5 {
      6 // process the data (runs the xml through httpData regardless of callback)
      7 var data = jQuery.uploadHttpData( xml, s.dataType );
      8 // If a local callback was specified, fire it and pass it the data
      9 if ( s.success )
      10 s.success( data, status );
      11
      12 // Fire the global callback
      13 if( s.global )
      14 jQuery.event.trigger( "ajaxSuccess", [xml, s] );
      15 } else
      16 jQuery.handleError(s, xml, status);
      17 } catch(e)
      18 {
      19 status = "error";
      20 jQuery.handleError(s, xml, status, e);
      21 }

      由于要返回的數據類型是dataType:'json'格式的;感覺錯誤出在json字符串的解析上面。即把json格式的字符轉換為對象;

       uploadHttpData: function( r, type ) {
      var data = !type;
      bug(r);
      //bug為封裝的firebug的console.log();
      data = type == "xml" || data ? r.responseXML : r.responseText;
      bug(data);
      // 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();

      return data;
      }

      兩次輸出的結果如圖


      可以看到 第二次bug(data);data的內容多出了一段html代碼,都這樣了不錯才怪呢。這段代碼我看著很熟悉,突然想到了。好像是火狐的魔鏡插件,嵌入的;

      在firebug的網絡面板中,可以看到返回的數據貌似是正常的

      只不過后來又遭到了修改。
      你隨便打開一個網頁在firebug中可以看到這個隱藏的div;

      現在一切都清楚了,
      我同事之所以以前用火狐沒事,現在突然出現了這個問題,,就是因為兩天前 火狐魔鏡升級了。(貌似你以前沒有安裝魔鏡,在這次更新過程中,會自動安裝。此前把魔鏡禁用了,升級為火狐應用中心后,它就成了啟用狀態(tài)了。這只是我的猜想)。
      另外這個插件肯定不會在每次請求中都會嵌入代碼;這段代碼跟播放視頻的播放器有關系,通過它在播放器周圍顯示一個框框,提示你可以單獨拿出來播放。
      插件之所以會在ajax上傳后返回的結果中嵌入,是因為ajaxfileupload中的ajax并不是我們平時所用的那個ajax。它只是創(chuàng)建了一個隱藏的iframe,并在里面創(chuàng)建了表單文件域的等,把文件提交到服務器。然后將iframe中的內容,即web服務器返回的結果,經過處理返回給調用它的代碼。

      解決方法:

      1.換瀏覽器。(因為這個功能只是我們的后臺人員在用,當然可以這么做^_^)

      2.卸載插件。

      3.js判斷是否存在此代碼。若存在替換為空字符串;

      不過最好的方式還是這個插件不要修改原來網頁的結構。感覺在實現原來效果的情況下,而不修改結構是可以實現的。

      2011 8.19 昨晚回到家后去火狐社區(qū)逛了一圈。遇到這個問題的不光是我一個。會在fckeditor編輯器里插入那個用于彈出視頻的代碼 
      并有回復:問題已經修復已發(fā)布5.0.1版 – 超 頻

      posted on 2011-08-18 18:01  倪浩  閱讀(3677)  評論(5)    收藏  舉報

      導航

      主站蜘蛛池模板: 国产AV老师黑色丝袜美腿| 欧美大胆老熟妇乱子伦视频| 极品美女自拍偷精品视频| 亚洲三区在线观看内射后入| 国精品无码一区二区三区左线| 嵊州市| 欧洲美熟女乱又伦免费视频 | 小污女小欲女导航| 欧美人与动牲交a免费| 狠狠v日韩v欧美v| 久久99精品久久久久久9| 午夜无码国产18禁| 大桥未久亚洲无av码在线| 四虎库影成人在线播放| 性做久久久久久久| www久久只有这里有精品| 亚洲AV日韩AV综合在线观看| 亚洲国产欧美不卡在线观看| 四房播色综合久久婷婷| 婷婷四虎东京热无码群交双飞视频| 久久精品免视看国产成人| 丁香婷婷无码不卡在线| 古浪县| 亚洲国产精品美日韩久久| 国产精品久久国产精麻豆| 亚洲高潮喷水无码AV电影| 性按摩玩人妻hd中文字幕 | 欧美18videosex性欧美黑吊| 久久一日本综合色鬼综合色| 在线日韩日本国产亚洲| 起碰免费公开97在线视频| 亚洲欧美综合中文| 精品超清无码视频在线观看| 国产精品无码一区二区在线观一| 日韩有码中文字幕一区二区| 青草青草久热精品视频在线播放| 岐山县| 成人久久精品国产亚洲av| 国产高清一区二区三区视频| 国产偷窥厕所一区二区| 无码乱人伦一区二区亚洲一 |