AJAX и NS_ERROR_DOM_BAD_URI ошибка - PullRequest
6 голосов
/ 09 июля 2009

У меня возникла следующая проблема, я думаю, что это возможно из-за того, что мой подход может быть ошибочным, но, надеюсь, с вашей помощью я смогу разобраться с этим!

По сути, для моего сайта у меня есть провайдер поиска (которому заплатили, поэтому я не нарушаю никаких условий использования). Когда форма поиска отправляется, меня направляют в домен, где отображаются результаты.

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

Итак, я подумал, что вместо обычного GET через форму я бы сделал AJAXified GET, а затем вставил возвращенный ответ в div на странице, что позволило мне сохранить внешний вид и никогда не покидать домен .

Это нормально работает в IE, но в Firefox я получаю "text/html (NS_ERROR_DOM_BAD_URI)" как ошибку. Проведя некоторые исследования, я обнаружил, что это связано с тем, что запрос AJAX попал на сайт за пределами нашего домена.

Таким образом, есть ли лучший подход, который я могу использовать для достижения того же эффекта? или есть ли способ получить firefox и мой AJAX-запрос на хорошую игру? Что действительно странно, так это то, что если я наблюдаю запрос в HttpFox (аккуратное добавление FF), он сообщает об указанной выше ошибке, но, глядя на возвращаемый контент, все там, как и ожидалось - так почему я не могу получить к нему доступ! !

Мне бы очень хотелось, чтобы это заработало, поскольку это намного проще, чем переписать все наши CSS и прочее, чтобы страница их результатов выглядела почти как наш сайт. Любая помощь в этой области будет высоко ценится.

Ответы [ 3 ]

1 голос
/ 09 июля 2009

Насколько мне известно, вам придется использовать JSONP для междоменного домена - это исключение безопасности в AJAX. JQuery прекрасно справляется с этим, но вам придется изменить ответ сервера, чтобы он соответствовал ему.

Я сделал проект OSS для Social Actions, который делает это с помощью прокси PHP. Вы можете посмотреть на это здесь: http://os.adamaltemus.com/social-actions/

0 голосов
/ 27 июня 2012

Это также возможно, если вы сейчас находитесь на веб-странице http и пытаетесь отправить вызов AJAX на веб-сайт https в том же домене.

0 голосов
/ 11 декабря 2009

Эта ошибка возникает, если вы указали другое доменное имя в коде. http://hiox.org/index.php?id=2737

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...