使用Formdata

时间:2015-07-16 17:25:16

标签: javascript jquery ajax twitter-bootstrap-3 bootstrap-modal

我一直在寻找解决方案一段时间,但找不到我要找的东西。

我正在尝试使用ajax使用 Formdata 上传图像文件,文件选择器(输入类型文件)位于bootstrap模式中。现在在成功内部回调,我想关闭模式,具体取决于我从服务器获得的响应。

目前我正在使用$("#add-slide-modal").modal('hide'); ,但它无效

我正在寻找它不起作用的原因,this帖子中提到了一些内容,但我完全无法理解它,我尝试使用that帖子中的解决方案但我想根据服务器的响应决定是否关闭模式。

这是我的代码:

form.onsubmit = function(event) {
    event.preventDefault();
    var valid = $("#add-slide-form").validationEngine('validate');
    if(valid) {
        var targeted_modal = $("#add-slide-modal");
        var parent = targeted_modal.find('.modal-body');

        // Update button text.
        uploadButton.innerHTML = 'Saving...';
        uploadButton.disabled = true;

        var request_url = ""; var add_request_flag = false;
        var formData = get_formData();
        if(targeted_modal.find("#add_or_update").val() == 'update') {
            //update existing slide
            request_url = ADMIN_BASE + "update-slide";
            formData.append('slide_id', targeted_modal.find('#slide_id').val());
        } else {
            //add new slide
            request_url = ADMIN_BASE + "add-slide";
            add_request_flag = true;
        }
        if(formData && request_url.length) {
                $.ajax({
                    url: request_url,
                    type: "POST",
                    data: formData,
                    processData: false,
                    contentType: false,
                    success: function (response) {
                        show_ajax_response(response, parent);
                        if(response.status == 1) {
                            uploadButton.innerHTML = "Saved";
                            if(add_request_flag) {
                                clear_modal_fields(targeted_modal);
                            } else {
                                update_client_side(response.slide);
                            }
                            uploadButton.disabled = false;

                        } else {
                            uploadButton.innerHTML = "Save";
                            uploadButton.disabled = false;
                        }
                        targeted_modal.modal('hide');
                    }
                });
        }
    }
}

0 个答案:

没有答案