ajaxfileupload.js がファイルをアップロードした後のエラー関数を処理する方法

一个新手
リリース: 2017-09-18 10:04:39
オリジナル
1800 人が閲覧しました

今日、ajaxfileupload.js を使用してファイルをアップロードしたとき、ファイルが正常にアップロードされたかどうかに関係なく、常にエラー コールバック関数が呼び出され、成功関数がまったく注目されなかったという非常に憂鬱な出来事に遭遇しました。

コードは次のとおりです:

//上传文件
$("#CompChange").click(function() {
  var params = $("#CompchangeTable").serialize();
  var json0={'video.slogan':$('#Cbasic_score').val(),'video.videoKind':$("#Cextra_score").val(),
		  'video.videoName':$("#name").val()};

  $.ajaxFileUpload({  
	    type: "POST",  
	    url: "adminAction-upFile.action",  
	    data:json0,//要传到后台的参数,没有可以不写  
	    secureuri : false,//是否启用安全提交,默认为false  
	    fileElementId:['file1','file2'],//文件选择框的id属性  
	    dataType: 'json',//服务器返回的格式  
	    async : false,  
	    success: function(data){  
              alert("成功");
	    },  
	    error: function (data, status, e){  
	         alert("失败");
	    }  
	});
  });
ログイン後にコピー

アップロード後、エラーが報告されます:


エラー報告からは、余分な「<」記号がある可能性があります。いろいろ試した結果、ついに何かが間違っていることに気づきました。 dataType タイプを context タイプに変更し、success 関数でデータを出力しました。

結果は次のとおりです:


返されたデータに

 タグがあることがわかりましたが、返された形式は明らかにそうではありません。 JSON 形式。バックグラウンドで何かを行う必要があることはわかっているので、最終的には、ajaxfileupload.js ファイルで次のメソッドを見つけました。これは、JSon を返すときの戻り値です。フォーマットでは、データを直接割り当てます。これは絶対に不可能なので、変更する必要があります: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">		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("<p>").html(data).evalScripts();

			return data;
		}
ログイン後にコピー

真ん中のものを切り取っただけです。

これは私の解決策です。他の人にもうまくいくことを願っています。

以上がajaxfileupload.js がファイルをアップロードした後のエラー関数を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート