Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2015, 12:08
Новичок на форуме
Отправить личное сообщение для surrealistic pillow Посмотреть профиль Найти все сообщения от surrealistic pillow
 
Регистрация: 25.04.2014
Сообщений: 4

Не получается передать на сервер JS массив с помощью ajax
У меня вопрос, на который я при всем старании, не нашел ответа.

На странице имеется множество ссылок с классом 'link'. Я получаю массив этих ссылок, и пытаюсь передать на сервер его, но не выходит. Огорчение

$(function(){
            var array = [];
     
            $('a.link').each(function(){
                    array[array.length] = $(this).attr('href');
            });  
           
            var data = "array = " + JSON.stringify( array );
            alert(data);//выводит на экран что-то вроде 'array = ["http://mysite.ru/1.html","http://mysite.ru/2.html",...]'        
           
            $.ajax({
                    url:     'url.php', //Адрес подгружаемой страницы
                    type:     "POST", //Тип запроса
                    data:  data,                      
                    success: function(response) { //Если все нормально
                            alert(response);
                    }                      
            });
    });




в принимающем скрипте вот что:

$array = json_decode( $_POST['array'], true );
    var_dump($array);//просто чтобы понять приходит что-то или нет


В результате выполнения скрипта вывода переданного массива на экран не происходит. То есть, запрос вообще не возвращает ничего. Где косяк?

Пробовал преобразовывать массив ссылок в обьект, потом обьект в JSON - тоже безрезультатно

function toObject(array) {
            var res = {};
            for (var i = 0; i < array.length; ++i)
                    if (array[i] !== undefined) res[i] = array[i];
            return res;
            }
    var obj = toObject(array);
    var data = $.toJSON(obj);
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2015, 13:54
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Отладчик что говорит?
Ответить с цитированием
  #3 (permalink)  
Старый 05.09.2015, 13:56
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

А так?

$.ajax({
                    url:     'url.php', //Адрес подгружаемой страницы
                    type:     "POST", //Тип запроса
                    data:  {
                        array: JSON.stringify(array)
                    },
                    success: function(response) { //Если все нормально
                            alert(response);
                    }
            });
Ответить с цитированием
  #4 (permalink)  
Старый 05.09.2015, 15:28
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от laimas
Отладчик что говорит?
отладчик говорит, что надо задать вопрос на другом форуме

http://forum.php.su/topic.php?forum=40&topic=6141
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 06.09.2015, 06:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Забавно. Как далеко бототехника шагнула. )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать значение из html в js Mateus jQuery 3 24.12.2012 18:58
Как передать сложный массив на сервер vuler jQuery 1 27.03.2012 16:15
Нужно передать массив из php в JS tuezov52 AJAX и COMET 2 07.11.2011 00:08
записать массив байт на сервер karabura AJAX и COMET 1 06.08.2009 05:21
Как передать массив? remitmaster Общие вопросы Javascript 6 17.09.2008 12:47