Ajax + сортировка

437
29 января 2017, 15:23

Всем привет. В работе использую jQuery(rapydscript) + webpy на серверной части.

Проблема следующая. Есть список проектов который сортируется по позиции. Нужно менять позицию при нажатии кнопки UP или DOWN и с помощью Ajax отправлять данные на сервер для обновления.

По идее задача простая, но по скольку сталкиваюсь впервые въезжаю в пня.

Пытался решить следующим образом. После переноса проекта на верх, я собираю позиции всех проектов и отправляю на сервер...

Кусок кода в rapydscript

#PROJECTS MODULE
def moveProjectUp():
    parentProject = $(this).parent('div')
    parentProject.insertBefore(parentProject.prev())
    allProjects = $('.projects')
    projectList = allProjects.find('div.single-project')
    positions = []
    for project in projectList:
        position.push($(project).attr('position'))

    data={'pojectsId': pojectsId,
            'indexs': indexs}

    $.post(
        '/projectup',
        JSON.stringify(data),
        serverSuccess
    )
    def serverSuccess(data):
        console.log(data)

    return False

Компилит следующее

function moveProjectUp() {
        var ՐՏitr1, ՐՏidx1;
        var parentProject, allProjects, projectList, positions, project, data;
        parentProject = $(this).parent("div");
        parentProject.insertBefore(parentProject.prev());
        allProjects = $(".projects");
        projectList = allProjects.find("div.single-project");
        positions = [];
        ՐՏitr1 = ՐՏ_Iterable(projectList);
        for (ՐՏidx1 = 0; ՐՏidx1 < ՐՏitr1.length; ՐՏidx1++) {
            project = ՐՏitr1[ՐՏidx1];
            position.push($(project).attr("position"));
        }
        data = {
            "positions": positions
        };
        $.post("/projectup", JSON.stringify(data), serverSuccess);
        function serverSuccess(data) {
            console.log(data);
        }
        return false;
    }

На серверной стороне происходит следующе

class ProjectUp:
    def POST(self):
        header('Content', 'text/json')
        d = json.loads(web.data())
        positions = d['positions']
        projects = list(get_company_projects(session.username))
        for p, i in zip(projects, positions):
            db.update('project', where="id=$id",
                vars={'id': p.id},
                position=i)
        return d

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

READ ALSO
nw.js. Запустить процесс. Command not found

nw.js. Запустить процесс. Command not found

В итоге команда "node" не найдена:( Делаю все это в nw

400
Как сделать такой же просмотр видео?

Как сделать такой же просмотр видео?

На сайте нашел очень интересный внешний вид просмотра видеоНе как не разберусь через что он реализован

421
В iframe-приложении Вконтакте при входе через ВК-приложение для Android/iOS не работает поле загрузки изображений &lt;input type=&ldquo;file&rdquo;&gt;

В iframe-приложении Вконтакте при входе через ВК-приложение для Android/iOS не работает поле загрузки изображений <input type=“file”>

В iframe-приложении Вконтакте при входе через ВК-приложение для Android/iOS не работает поле загрузки изображений input type="file"Можно ли каким-то другим...

379
Slim Image Cropper получить JSON response

Slim Image Cropper получить JSON response

Хочу прикрутить Slim Image Cropper: http://slimimagecroppercom/ (здесь же есть и документация), он прекрасно работает, но мне нужно вернуть имя файла запрос делаю...

502