HTTP-глагол POST, используемый для доступа к пути '/test.html', не разрешен

Ниже мой код:

<form id="productForm" method="post" action="test.html">

</form>

5 ответов

Решение

Используете ли вы какой-либо URL перезаписи? ( http://forums.asp.net/t/953470.aspx)

В веб-сервере разрешено ли POST для файлов HTML? Попробуйте изменить расширение на.ASPX или.PHP

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

Хотя значение URL-адреса Canvas должно заканчиваться на "/", URL-адрес таблицы может быть полностью определенной страницей (например, http://[DOMAIN/DIRECTORY-PATH]/Default.aspx).

Я работаю локально, поэтому http://localhost:4604/Main/Default.aspx работал для меня.

Протоколы HttpGet, HttpPost, по-видимому, не требуются в файле web.config (хотя это исправление все еще работало с ними там).

Первое, что приходит на ум, это разрешения.

Какая версия IIS? По умолчанию IIS6 запрещает публикацию в файл HTML.

Похоже, директива используется на вашем (предположительно) веб-сервере Apache? Вам нужно проверить httpd.conf для этой директивы и убедиться, что POST разрешено вызывать в вашем файле.

Тем не менее, кажется ли это немного странным для POST в статическом html-файле или используется mod_rewrite, чтобы сбить людей с толку?

По умолчанию для этой ошибки является то, что глагол POST отключен в конфигурации для сервера. Это происходит в Кассини или в IIS? В IIS это поведение можно контролировать. Также вы можете убедиться, что в вашем файле web.config присутствуют соответствующие обработчики, если у вас по-прежнему возникают проблемы после просмотра конфигурации IIS (если это в конечном итоге связано с веб-службой):

<system.web>  
    <webServices>    
        <protocols>    
            <add name="HttpGet"/>
            <add name="HttpPost"/>
Другие вопросы по тегам