Как отправить данные из ввода Javascript во Flask

Попробуйте использовать службу ресурсов для использования flickr jsonp:

var MyApp = angular.module('MyApp', ['ng', 'ngResource']);

MyApp.factory('flickrPhotos', function ($resource) {
    return $resource('http://api.flickr.com/services/feeds/photos_public.gne', { format: 'json', jsoncallback: 'JSON_CALLBACK' }, { 'load': { 'method': 'JSONP' } });
});

MyApp.directive('masonry', function ($parse) {
    return {
        restrict: 'AC',
        link: function (scope, elem, attrs) {
            elem.masonry({ itemSelector: '.masonry-item', columnWidth: $parse(attrs.masonry)(scope) });
        }
    };        
});

MyApp.directive('masonryItem', function () {
    return {
        restrict: 'AC',
        link: function (scope, elem, attrs) {
            elem.imagesLoaded(function () {
               elem.parents('.masonry').masonry('reload');
            });
        }
    };        
});

MyApp.controller('MasonryCtrl', function ($scope, flickrPhotos) {
    $scope.photos = flickrPhotos.load({ tags: 'dogs' });
});

Шаблон:

<div class="masonry: 240;" ng-controller="MasonryCtrl">
    <div class="masonry-item" ng-repeat="item in photos.items">
        <img ng-src="{{ item.media.m }}" />
    </div>
</div>
0
задан MichaelRSF 20 March 2019 в 10:29
поделиться

1 ответ

Сообщение об ошибке в значительной степени говорит обо всем. Проблема, скорее всего, заключается в следующем:

id_data = data_dic["id"]
...
return id_data

Вы возвращаете id_data, который является int, но вам нужно вернуть любой из типов, указанных в сообщении об ошибке. Попробуйте это так:

return jsonify({'id': id_data})

РЕДАКТИРОВАТЬ: Чтобы ответить на последующий вопрос в комментарии. Вы получаете пустой словарь при печати request.form (как переменная rf), потому что вы фактически не публикуете данные формы в функцию представления, но отправляете тело JSON в запросе POST. Чтобы получить данные, вы должны использовать request.get_json() вместо request.form.

0
ответ дан Tomáš Linhart 20 March 2019 в 10:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: