Загрузка файла dojo.io.iframe.send отправляет запрос GET в IE8 - PullRequest
2 голосов
/ 26 октября 2011

Я делаю загрузку файла xhr с помощью dojo.io.iframe.send, и он отлично работает во всех браузерах, кроме IE 8. IE8 отправляет запрос GET вместо составного POST.Это мой код:

dojo.io.iframe.send({
            form: this.logoForm.domNode,
            handleAs: "json",
            method: "POST",
            url: '/backend/design/uploadLogo',
            load: dojo.hitch(this, function(response) {
                if (response.error) {
                    errorFunc(response);
                } else {
                    this.submitStatusLogo.innerHTML = "Your logo has been successfully uploaded.";
                    this.logoButton.hideIndicator();
                    dojo.addClass(this.submitStatusLogo, "success");
                    if (response.logoPath) {
                        this.productLogo.innerHTML = '<img src="'+response.logoPath+'" alt="" />';
                    }
                }
            }),
            error: errorFunc
        });

И this.logoForm.domNode:

<form dojoAttachPoint="logoForm" dojoType="dijit.form.Form" enctype="multipart/form-data" class="designLayoutForm">
    <div class="uploadedImage" dojoAttachPoint="productLogo"></div>
    <h2>Logo
        <span dojoType="sc2.common.TinyHelp" title="Logo">
            Upload a product logo that will be shown in the top left of the demo page.<br />
            If the logo is higher than 80 pixels, it will be resized to a height of 80px. <br />
            <br />
            <i>Supported file types are: png, jpg, gif, bmp.</i>
        </span>
    </h2>
    <p>
        <input type="hidden" dojoAttachPoint="logoForm_product" name="product" value="" />
        <input type="hidden" dojoAttachPoint="logoForm_XSessionVerify" name="X-Session-Verify" value="" />
        <input type="file" name="file" dojoAttachPoint="logoInput" />
    </p>
    <p dojoAttachPoint="submitStatusLogo" class="submitStatus"></p>
    <p>
        <input dojoType="sc2.form.IndicatorButton" dojoAttachPoint="logoButton" label="Upload">
    </p>
</form>

Что я делаю не так?

1 Ответ

5 голосов
/ 26 октября 2011

Хорошо, я решил это, добавив method = "POST" к элементу формы. Видимо, указав метод: «POST» в параметрах отправки было недостаточно для IE8. В любом случае, спасибо за ваше время

...