jQuery сериализует значение в PHP - PullRequest
1 голос
/ 14 марта 2011

Я новичок в интеграции jQuery и PHP.Я попытался использовать nestedsortable плагин jquery и успешно интегрировал его в мою среду Kohana 2.3.4.Моя проблема в том, как я могу передать значение массива сериализации jquery в php?Вот фрагмент моего кода.

На мой взгляд:

<ol class="sortable">
    <li id="list_1"><div>Item 1</div>
    <li id="list_2"><div>Item 2</div>
        <ol>
            <li id="list_3"><div>Sub Item 1.1</div>
            <li id="list_4"><div>Sub Item 1.2</div>
            <li id="list_5"><div>Sub Item 1.3</div>
            <li id="list_6"><div>Sub Item 1.4</div>
        </ol>
</ol>

<script>

$ (документ) .ready (function () {

    $('ol.sortable').nestedSortable({
        disableNesting: 'no-nest',
        forcePlaceholderSize: true,
        handle: 'div',
        helper: 'clone',
        items: 'li',
        opacity: .6,
        placeholder: 'placeholder',
        tabSize: 25,
        tolerance: 'pointer',
        toleranceElement: '> div'
    });

    $('#serialize').click(function(){
        serialized = $('ol.sortable').nestedSortable('serialize');
        $('#serializeOutput').text(serialized);
    })
});

Ответы [ 2 ]

2 голосов
/ 14 марта 2011

через AJAX Call: "serialized" = ваши сериализованные данные.

$.ajax({
   type: "POST",
   url: "myPhpScript.php",
   data: serialized
 });

Подробнее об этом в JQuery Docs

В вашем PHP-файле вы можете получить доступ к этим переменным через $ _POST.

$myVar = $_POST['myVar']; 

Я не знаю точно, как называются ваши сериализованные переменные, но вы всегда можете «var_dump ($ _ POST)» увидеть содержимое данных POST и выяснить это оттуда.

0 голосов
/ 09 февраля 2012

Вставьте все это в свой $ (документ) .ready (function () /

$('ol.sortable').nestedSortable({
    disableNesting: 'no-nest',
    forcePlaceholderSize: true,
    handle: 'div',
    helper: 'clone',
    items: 'li',
    maxLevels: 10,
    opacity: .6,
    placeholder: 'placeholder',
    revert: 250,
    tabSize: 25,
    tolerance: 'pointer',
    toleranceElement: '> div'
});

$('#serialize').click(function(){
        serialized = $('ol.sortable').nestedSortable('serialize');
        $('#serializeOutput').text(serialized+'\n\n');
        $.post({
                type: "POST",
                url: "script.php",
                data: serialized
    });
})

Если у вас под рукой есть кнопка сериализации, просто нажмите кнопку, и данные будут опубликованы.что я только что добавил .post вместо .ajax. Из моих тестов (я использую Django, а не php) оба .post и .ajax работают нормально.

...