AJAX从Django视图调用GET数据作为JSON,然后将其POST到另一个视图

时间:2018-03-22 12:07:25

标签: python jquery json ajax django

我有一个类似于以下的Django视图函数,它会抓取数据并将其作为JSON返回:

def get_data(request):
    #scraping code here
    scraped_data = {"Name": "John"}
    return JsonResponse(scraped_data)

我需要将AJAX分配给使用" GET"来调用此视图的表单的.submit方法。获取scraped_data并将其发送到另一个视图以进行进一步处理。

如果有人帮我开发这样的AJAX调用的骨架代码,我将不胜感激:

$("#my_form").submit(function(e) {
    $.ajax({
           type: "GET",
           url: "/get_data",
           data: // need scraped_data here, how do I phrase it?
           success: function(data)
           {
               //send scraped_data to another Django view, possibly using jQuery ".post"?; 
           }
     });
});

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下脚本。

$("#my_form").submit(function(e) {
    $.ajax({
           type: "GET",
           url: "/get_data",
           success: function(data)
           {
            $.ajax({
             type: "POST",
             url: "/post_data", //your post url
             dataType: "JSON",
             data: data,
             success: function(response)
             {
              alert(response);
             }
            });
           }
     });
});

我不用Python编写代码,但我知道如何从AJAX方面做到这一点。所以基本上你从json格式的第一个AJAX中获取数据。现在,在第一个AJAX的成功中,你可以使用POST方法使用另一个AJAX发布数据。添加dataType: "JSON"将允许您将json数据从视图传输到控制器。在您的控制器中,您将获得数据{"Name": "John"}。希望这会有所帮助。