Как отправить форму после теста ajax без получения ошибки XSS? - PullRequest
0 голосов
/ 01 февраля 2011

После того, как пользователь завершит и попытается отправить форму, я хотел бы запросить сервер, чтобы проверить, прошел ли аутентификация пользователя.Если нет, я хотел бы открыть окно входа в систему, которое будет закрыто после входа в систему, оставляя данные формы в неизменном состоянии и готовыми для отправки.

Проблема заключается в том, что, если пользователь вошел в систему, я хочудля вызова form.submit (), но так как это от обратного вызова, это дает ошибку XSS.Есть ли способ лучше?Вот что я попробовал:

function submitForm(form) { form.submit();}

$("#myForm").submit(function () {
                     var thisForm = this;
                     $.getJSON("/url/login_check/", function(data) {
                           if (data.loggedIn === true) { 
                               submitForm(thisForm); 
                            }
                            else {
                               // display login popup
                            }
                     });
                     return false;
  });

1 Ответ

0 голосов
/ 01 февраля 2011

Вы получаете ошибку XSS, потому что пытаетесь отправить запрос JSON в другой домен, что вы не можете сделать.

Что вам, вероятно, нужно сделать, это отправить запрос JSONP (при условии, что вашсервер аутентификации их поддерживает).Это позволяет отправлять данные в удаленный домен и обрабатывать ответ.

...