После нескольких часов попыток отладить ту же проблему, я пришел к следующему выводу.
Я полагаю, что это происходит из-за контрмер XSS в новых браузерах.
Вы можете найти очень подробную информацию об этих новых контрмерах здесь:
https://developer.mozilla.org/en/http_access_control
По сути, сайт может указывать, насколько «осторожен» браузер при разрешении сценариев из других доменов. Если ваш сайт или сайт, с которого вы загружаете внешний код JavaScript, содержат один из этих «советов по работе с браузерами», более новые браузеры будут реагировать, применяя более строгую политику XSS.
По какой-то причине Ajax.Request Prototype в Firefox, похоже, реагирует, пытаясь выполнить запрос OPTIONS, а не GET или POST, поэтому, возможно, Prototype не был обновлен для корректной обработки этих новых условий безопасности.
По крайней мере, таков был вывод в моем случае. Может быть, эта подсказка может помочь с вашим делом ...