Почему эмуляторы мобильных телефонов теряют переменные POST? - PullRequest
0 голосов
/ 21 августа 2009

Я разрабатываю веб-приложение специально для мобильных телефонов, и я столкнулся с какой-то проблемой. На эмуляторе Blackberry я установил, все отлично работает. Но когда я запускаю эмуляторы Openwave или Nokia N60, я больше не могу войти в свое приложение. Когда я проверяю журналы, я обнаруживаю, что причина в том, что ВСЕ переменные $ _POST пусты.

Я перебрал почти все, что мог придумать, это было бы проблемой, и я все еще застрял. Я перепробовал все три DOCTYPE, перечисленных в Википедии, на случай, если это так, я попытался отправить всевозможные заголовки, и я просто в замешательстве.

Моя последняя идея заключается в том, что, возможно, сам код моей формы неправильный? Я прилагаю таблицу в своей форме, и все примеры, которые я видел, заключают абзац с формой.

т.е. В примерах я вижу:

<form>
    <p>
        ... stuff ...
    </p>
</form>

А у меня есть:

<form action="/" method="POST" class="formic">
    <table class="mobile-form">
        <tr>
            <td colspan="2" class="label required">Email address</td>
        </tr>
        <tr>
            <td colspan="2" class="data"><input type="text" name="email" class="text" /></td>
        </tr>
        <tr>
            <td colspan="2" class="label required">Password</td>
        </tr>
        <tr>
            <td><img src="/images/exclamation.png" class="error_icon" value="/images/exclamation.png" /></td>
            <td class="data"><input type="password" name="password" class="text" /></td>
        </tr>
        <tr>
            <td colspan="2" class="data field-error">You must enter a password.</td>
        </tr>
        <tr>
            <td colspan="2" class="label required">Sign in to:</td>
        </tr>
        <tr>
            <td colspan="2" class="data">
                <select name="aspect">
                    <option value="web">Web interface</option>
                    <option selected="selected" value="mobile">Mobile interface</option>
                </select>
            </td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="hidden" name="saved_aspect" value="0" />
                <label>
                    <input type="checkbox" name="saved_aspect" checked="checked" value="1" />
                    Save interface choice on this computer.
                </label>
            </td>
        </tr>
        <tr>
            <td colspan="2" class="submit"><input type="submit" name="" class="submit" value="Log in" /></td>
        </tr>
    </table>
</form>

Может ли это быть? Где я могу найти документацию / спецификации, которые продемонстрировали бы это?

Ответы [ 3 ]

3 голосов
/ 21 августа 2009

В более раннем браузере Nokia Symbian 9 'servies' имеется серьезная ошибка (IMO), из-за которой переменные POST, связанные с большинством элементов HTML-формы, не отправляются на сервер. Пользователи видят переключатели и флажки как отмеченные, но когда они отправляют форму, браузер просто не может отправить данные POST. Я наблюдал ту же проблему, о которой вы сообщаете в N70, N71 и некоторых других старых телефонах Symbian 9 в общем тираже.

Старые телефоны Nokia Symbian 9 имеют два браузера: «сервисы» и «Интернет». Основное отличие заключается в том, что браузер «сервисов» предназначен для просмотра WAP, поскольку браузер на основе Webkit не включает никакой поддержки WML, который в то время был доминирующим языком разметки для мобильных устройств. Браузер «сервисов» был установлен как браузер по умолчанию во многих телефонах - не уверен, когда он изменился, но когда-то около выпуска N95. При использовании браузера «Mini Map» на основе Webkit проблем не возникает, но браузер «services» теряет данные POST.

Если пользователи получат доступ к вашей странице по ссылке в сообщении SMS или MMS, они будут использовать браузер по умолчанию для мобильных телефонов. Я не знаю ни одного способа исправить ошибку и очень мало информации на форуме Nokia или других сайтах. На своих производственных площадках я старался отстраняться от форм POST, где это возможно.

1 голос
/ 21 августа 2009

Покажите нам код для кнопки ввода (и общий вид). Я думаю, у меня была эта проблема раньше, и кнопка не была типа «отправить» (или какая-то другая очень и очень глупая ошибка, как эта).

0 голосов
/ 21 августа 2009

Меняется ли поведение при публикации на странице, а не в корне сайта?

...