2013-07-24 9 views
0

Я пытаюсь опубликовать данные, хранящиеся в данном-ATTR на следующую страницу, вот мой кодJQuery посылка данных на следующую страницу

Сначала я добавить класс и данные-Attr для всех якорных тегов, как это:

jQuery("a").addClass("wptl_link"); 
jQuery('a').attr('data-wptl_ip', '<?php echo $_SERVER['REMOTE_ADDR']; ?>'); 

Я проверил исходный код при загрузке, и это работает нормально.

Я хотел бы добавить функциональность для каждого якорного тега, чтобы отправить данные-attr этого якоря на следующую страницу.

Я сейчас не совсем уверен, что делать. Я прочитал в .ajax и .post и не уверен, в чем разница?

мне нужно сделать что-то вроде следующего Do:

jQuery.ajax({ 
type: "POST", 
url: nextpage.php, 
data: { wptl_ip: "<?php echo $_SERVER['REMOTE_ADDR']; ?>"}, 
success: success, 
dataType: dataType 
}); 
+0

Да, это выглядит, как он должен работать. Вы попробовали? – Barmar

+0

Вы собираетесь перейти на эту страницу? потому что ajax отправляет запросы за сценой и не приведет вас на страницу – James

+0

Что следующая страница, это вызов ajax? – adeneo

ответ

1

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

$.ajax отправляет запрос на другую страницу, не переходя на страницу. $.ajax используется для обновления или получения данных асинхронно, из других мест. Без необходимости обновлять страницу.

Вы можете сохранить данные-attr в переменной sessionStorage.

$('body').on('click','a',function(e){ 
    e.preventDefault(); 

    var location = $(this).attr('href'); 
    var data = $(this).attr('data-wptl_ip'); 

    sessionStorage.setItem('wptl_ip', data); 
    location.href= location; 
}); 

, то вы можете получить доступ к информации данных на следующей странице с

var myData = sessionStorage.getItem('wptl_ip'); 

Это предполагает, что вы хотите, чтобы перейти на следующую страницу, вместе с данными.

Проводка в файл PHP для вставки в базу данных:

$('body').on('click','a',function(e){ 
    e.preventDefault(); 

    var location = $(this).attr('href'); 
    var data = $(this).attr('data-wptl_ip'); 

    $.ajax({ 
     url: 'somePage.php', 
     data: {someData: data} 
    }).done(function(response){ 
     sessionStorage.setItem('wptl_ip', data); 
     location.href= location; 
    }); 


}); 
+0

Спасибо за ответ, это поможет мне много! Как я могу отправить данные в mysql db при нажатии на якорь? – danyo

+0

Вы можете настроить страницу '.php', которая получает данные' post', и вставляет ее в БД. Затем просто вызовите '. $ .ajax()', чтобы отправить данные по клику. здесь я добавлю это к моему ответу – James

+0

@ danyo Это просто пример того, как это сделать. Вам все равно нужно сделать страницу '.php' для вставки и исправить функцию ajax, чтобы она соответствовала вашим данным. – James