Ajaxのファイルのアップロード、VUE axiosファイルのアップロード

アヤックスは、ファイルアップロードの互換性の問題を行う必要があります。ブラウザだけの少数の高いバージョンが、ファイルのアップロード機能を実装することができます。ブラウザのIE6 IE7低いバージョンを達成することができません。AJAXファイルアップロード使用FORMDATAので、それは新しいH5で、互換性の問題があり、ブラウザの低いバージョンがサポートされていません。

FORMDATAにデータが追加しました:

0 - appendメソッドを呼び出すFORMDATAネイティブファイルのDOMオブジェクトを使用してファイルをアップロードするために取得します。髪aiax要求は、POSTリクエストメソッドで、属性を追加します。

ネイティブAJAXは、コードをアップロードします。

<!DOCTYPE HTML> 
<HTML> 

<HEAD> 
  <メタ文字コード= "UTF-8"> 
  <タイトル> </ TITLE> 
</ HEAD> 

<BODY> 

  <P>データ</ P> <入力のid = 'データ'タイプ= "ファイル" NAME = "データ" /> 
  <P>型</ P> <入力されたID = 'INPUT1' TYPE = "テキスト"値= '画像/ JPG' NAME = "タイプ" /> 
  <INPUT TYPE = "ボタン"値= "添加文件" ID = /> "BTN" 

</ BODY> 

</ HTML> 
<スクリプト> 

  btn.onclick =関数(){ 
    //前后端交互
    VAR XHR =新規のXMLHttpRequest(); 
    xhr.open( "POST"、 "请求接口"、真の);
    =関数xhr.onreadystatechange(){ 
      IFは(xhr.readyState == == 200は&& xhr.status 4である。){ 
        フラグ= xhr.responseTextにおいてVAR; //に対する応答取り戻す
        はconsole.log(INフラグ); 
      } 
    } 
  } 

</スクリプト>

jQueryのAJAXは、コードをアップロードします。

注:以下の3つの属性送信要求AJAXを追加するには与えられずに

キャッシュ:偽

PROCESSDATA:偽

contentTypeの:偽

<!DOCTYPE HTML> 
<HTML> 

<HEAD> 
  <メタ文字コード= "UTF-8"> 
  <タイトル> </ TITLE> 
  <スクリプトSRC = "https://cdn.staticfile.org/jquery/1.10.2/jquery .min.js "> </ SCRIPT> 
</ head> 

<body> 

  <P>データ</ P> <入力ID = 'データ' TYPE ="ファイル」NAME = "データ" /> 
  <P>型</ P> <入力ID = 'INPUT1' TYPE = "テキスト"値= '画像/ JPG' NAME = "タイプ" /> 
  <INPUT TYPE = "ボタン"値= "添加文件" ID = "BTN"のonclick = "試験();」/> 

</ BODY> 

</ HTML> 
<スクリプト> 

  機能テスト(){ 
    VAR FORMDATA =新しいいるFormData()。

    formData.append( "タイプ"、input1.value)。
    formData.append( "データ"、data.files [0])。

    $アヤックス({  
      URL: "请求接口"、
      メソッド: "POST"、 
      キャッシュ:falseに、//キャッシュファイルを設定しないでください
      FORMDATA、:データ
      PROCESSDATA:falseに、//データを文字列に変換されていない
      のcontentType:アップロードファイルは、その動作はJQuery回避するために偽の、// 
      成功を:関数(結果){ 
        にconsole.log(結果); 
      } 
    })
  } 

</ SCRIPT>

Vueのaxiosは、コードをアップロードします。

      聞かせてFORMDATA =新しいいるFormData(); 
      formData.append( 'タイプ'、input1.value)。
      formData.append( 'データ'、data.files [0])。

      axios({ 
        メソッド: 'ポスト'、
        URL: "请求接口" 
        データ:FORMDATA、
        ヘッダー:{ 
          'のContent-Type': 'マルチパート/フォームデータ' 
        } 
      })
        .then(RES => { 
        })
        .catch (ERR => { 
        })。

  

おすすめ

転載: www.cnblogs.com/cyfeng/p/12193316.html