2016-06-23 11 views
0

QUnitフレームワークでajaxリクエストを使用してサーバーに画像を投稿する必要があります。私は("Content-Type", "application/json")を使用して、このような要求を行うと、私は、要求のこの種の書き込み:qunitを使用したマルチパート/フォームデータリクエスト

$.ajax({ 
    beforeSend: function(xhr){ 
     xhr.setRequestHeader("Content-Type", "application/json"); 
     xhr.setRequestHeader("Accept", "application/json"); 
     xhr.setRequestHeader('authorization', userAuthorization); 
    }, 
    url: address + "user/friend", 
    type: "get", 
    contentType: "application/json;charset=UTF-8", 

は私がmultipart/form-data要求のために何を書くべきですか?どのように画像へのパスを指す?

var myForm = document.querySelector('form'); 
var formdata = new FormData(myForm); 

$.ajax({ 
    url: '/myurl/', 
    beforeSend: function(xhr){ 
     xhr.setRequestHeader('authorization', userAuthorization); 
    }, 
    dataType: 'json', 
    cache: false, 
    contentType: false, 
    processData: false, 
    data: formdata,       
    type: 'post' 
}).always(function (data){ 
     // request done 
    }); 

このコードは、フォームの外にいるFormDataオブジェクトを作成し、その選択されたファイルへの参照が含まれています

答えて

0

はこのような何かを行います。
詳細については、https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormDataを参照してください。

次に、AJAXリクエストにFormDataオブジェクトを追加できます。

+0

私は高度なRESTクライアントを経由してmultipart/form-dataリクエストを行うと、そのようなリクエストヘッダを持っている: POST /ユーザー/アバターHTTP/1.1 HOST: 'URL' 承認:M3aW4GXbA .... コンテンツタイプ:multipart/form-data;境界= ---- WebKitFormBoundary8AMsYZ7SnZnUgaBV コンテンツの長さ:410120 ------ WebKitFormBoundary8AMsYZ7SnZnUgaBV コンテンツの処理:フォームデータ。名前= "写真";私のajaxリクエストはこれに似ているはずだと思いますが、境界パラメータと画像へのポイントパスを取得する方法がわかりません。 –

+0

私の記事で述べたように(ヘッダーの変更と画像のポインティング)はFormDataオブジェクトを使って行い、AJAX要求にバインドします。 –

+0

そしてパスを画像に向けるには? –

関連する問題