Могу ли я получить доступ к href моего ajax-запроса в javascript моего запроса? - PullRequest
2 голосов
/ 23 мая 2009

Вот пример использования:

Я запрашиваю простую форму через запрос ajax. Я хочу отправить результат на ту же страницу, что и я. Есть ли способ получить доступ к URL-адресу этого запроса в javascript результирующего запроса?

Ниже приведен код, который выполняет то, что я хочу, через JavaScript и PHP. Недостатком этого является то, что я должен включить мой javascript в тот же файл, что и myajaxform.php. Я бы предпочел отделить его, чтобы я мог его минимизировать, кэшировать и т. Д.

Я не могу использовать location.href, т.к. он ссылается на местоположение окна, а не на последний запрос.

frm.submit(function () {
    if (frm.validate()) {
        var data = frm.serialize();
        jQuery.ajax({
            url : '<?= $_SERVER['PHP_SELF'] ?>',
            type : 'POST',
            data : data,
                dataType: "html",
            success : function (data) {

            }
        });
    }
    return false;
});

Если нет способа получить к нему доступ напрямую через javascript, как бы вы решили эту проблему, чтобы javascript мог помещаться в отдельный файл? Я думаю, что я мог бы в исходном обработчике запроса ajax создать какую-то ссылку на URL. Мысли? Может быть, что-то с использованием метода данных jQuery?

Ответы [ 2 ]

3 голосов
/ 23 мая 2009

Вы можете сохранить URL для отправки в атрибуте action формы, а затем установить для url значение frm.action:

jQuery.ajax({
             url : frm.action,
             type : 'POST',
             data : data,
             dataType: "html",
             success : function (data) {
            }
});
0 голосов
/ 23 мая 2009

Простите, если я полностью неверно истолковал ваш вопрос, поскольку я нахожу его несколько запутанным. Как насчет

frm.submit(function () {
    if (frm.validate()) {
        var data = frm.serialize();
    jQuery.ajax({
            url : window.location.href,
            type : 'POST',
            data : data,
            dataType: "html",
            success : function (data) {

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