Как я могу отправить запрос AJAX на URL - PullRequest
1 голос
/ 27 декабря 2010

Привет, я не уверен, что вы, ребята, поймете меня, потому что я испанец и немного говорю по-английски, но я попробую: я хотел бы, чтобы пользователь отправлял в браузере URL, например, http://www.facebook.com/profile.php?id=000000001 browser don 't отправить запрос на сервер, и AJAX загружает содержимое внутри DIV.Как я могу заставить это работать?Я надеюсь, что вы можете помочь мне и предпринять меня.Спасибо

Ответы [ 4 ]

1 голос
/ 27 декабря 2010

Это сложная проблема, вы можете использовать hashbangs (http://www.facebook.com/profile.php#!000000001)), потому что они не заставляют браузер (пере) загружать страницу, но вы можете перехватить их через AJAX, если страница загружена.Вы не хотите использовать hashbangs. Интерфейс истории HTML5 http://www.w3.org/TR/html5/history.html был бы хорошим способом, но он не поддерживается многими браузерами, но я сделал некоторые рабочие вещи в Chrome.

1 голос
/ 27 декабря 2010

Вы можете использовать Fiddler для прослушивания данных, отправляемых на сервер через AJAX, затем вы можете написать HTTPWebRequest / Response для имитации.

1 голос
/ 27 декабря 2010

Браузер всегда перезагрузит страницу, если вы измените адрес.Способ обработки изменений страницы в Ajax заключается в работе с хеш-тегом, который содержит все после знака фунта (#)

www.example.com # page = один www.example.com # page = два www.example.com # страница = три и более = PARAMS

0 голосов
/ 27 декабря 2010

Вы можете использовать GET для URL с этой функцией, чтобы сделать вызов Ajax:

$.extend({
    getUrlVars: function(){
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
        for(var i = 0; i < hashes.length; i++){
            hash = hashes[i].split('=');
            vars.push(hash[0]);
            vars[hash[0]] = hash[1];
        }
        return vars;
    },
    getUrlVar: function(name){
        return $.getUrlVars()[name];
    }
});

И проанализировать аргументы:

$(document).ready(function(){
    // load ajax call
    if( $.getUrlVar('param') != null ){
        $.ajax({
            data: {
                something_var: $.getUrlVar('param')
            },
            success: function(data){
              alert(data);
            }
        });
    }
});

Пример URL: http://www.website.com/?param=ok

Надеюсь, это то, что вы хотите:)

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