2013-07-18 3 views
0

У меня есть страница на моем сайте, которая используется для регистрации на другом сайте. Другой сайт дал мне URL-адрес для отправки формы. Я использую aspnetForm со следующими .attr («метод», «GET»). Attr («target», «_blank») ... и некоторый другой код. После того, как форма будет отправлена ​​на их сайт, новое пустое окно заполняется сообщением о том, было ли сообщение формы успешным. Новая страница с URL-адресом другого веб-сайта содержит строку запроса с полезными для меня данными, так что мое приложение действительно знает, было ли представление успешным, а не просто визуальная подсказка для пользователя. Есть ли способ для моего приложения получить данные строки запроса из этого другого окна?Извлечь данные строки запроса из внешней формы

Спасибо

+0

Вы изучили использование window.open, чтобы отправить данные на другой сайт в запросе GET? При этом вы можете сохранить ссылку на открытое окно на своей собственной странице, а затем получить доступ к DOM этого окна, когда это необходимо. – Michael

+0

С тех пор я понял. Тем не менее, я все еще пытаюсь получить ручку в другом окне. Я получаю нулевое значение, когда пытаюсь ссылаться на window.open. Оказывает ли окно с другого сайта возможность получить ссылку? Я нашел что-то в том, что снял флажок «Включить защищенный режим» в IE, что позволило мне получить ссылку на объект, но я не думаю, что снятие флажка - это очень хорошее решение. Я также смотрел в window.postMessage, но не понял, как я могу это использовать. – user2023116

+0

Да, я предполагаю, что вы правы, и если бы вам разрешили доступ к другому сайту, это было бы угрозой безопасности (межсайтовый скриптинг/XSS). Я не эксперт по XSS, но, думаю, вам придется работать с владельцем другого сайта, если вы хотите получить такой доступ. Отключение стандартных настроек безопасности для IE звучит рискованно, поэтому я с вами на этом. Может быть, кто-то еще может добавить какой-то вклад в это. – Michael

ответ

0

Say, если возвращаемый URL вы получаете https://other-site.apsx?usefulData=blah

Вы можете получить это из кода за помощью:

var queryString = Request.QueryString["usefulData"]; 

Это даст вам значение usefuleData, которое blah.

+0

Запрос и ответ выполняются через javascript, поэтому в этом процессе на самом деле нет обратного вызова кода сервера. Есть ли рекомендуемый способ заставить два (Javascript и .Net) разговаривать друг с другом после получения ответа в новом окне? – user2023116

Смежные вопросы