0

ある種のニュースフィード機能を備えた Django webapp があります。ニュースフィードには、タイトル、本文、画像が関連付けられています。ユーザーは、新しい画像の追加など、ニュースフィードを編集および更新できます。

現在、次のように各フィード項目のすべてのデータを取得しています:

var newsfeeds = [];
$('.feed').each( function (index, element) {
    var feed_dict = {'title': $(this).children('#title').val(),
                     'id': $(this).children('#feed_' + index + '_id').val(),
                     'should_delete': $(this).children('#should_delete').val(),
                     'subtitle': $(this).children('#subtitle').val(),
                     'body': $(this).children('#body').val()};
    newsfeeds.push(feed_dict);
});

その後、 を使用して送信され$.ajax()ます。これはうまく機能しています。

現在、画像関連の作業を行っています。各フィードには<input type="/>一意の ID が関連付けられているため、各ファイルを取得できるはずです。request.POST問題は、Django のすべてのデータを取得できるようにそれらを送信する方法ですrequest.FILES。. 私は次のFormDataようにJSでオブジェクトを使用しようとしました:

var data = new FormData();
$('.image_input').each(function(index, element) {
    data.append('file_' + index, element.files);
});

しかし、これは私NS_ERROR_CANNOT_CONVERT_DATAに Firebug を与えます。

この時点で、私はかなり迷っています。どんな指針も非常に役に立ちます。

4

1 に答える 1

0

ajax 経由でファイルを送信することは実際には不可能です。jquery フォーム プラグインのようなものを使用してフォームを「ハイジャック」すると、XHR を使用する代わりに舞台裏で iframe に送信されます。

いずれにせよ、JavaScript なしで機能するようにフォームを作成し、jquery フォームを使用して徐々にフォームを強化する必要があります。そうすれば、この種のことを心配する必要さえありません。

于 2012-07-03T22:00:01.480 に答える