Jquery:Ajax Post与JinJa Templating无法正常运行

时间:2015-06-04 02:45:23

标签: javascript jquery ajax jinja2

目标:目标非常简单。我应该能够单击按钮并将信息发布到数据库。

问题:点击按钮不发布到数据库。

设置:我正在使用Flask Framework,Jquery和Jinja Templating。

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.0/js/bootstrap.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="/static/js/bootstrap.min.js"></script> 
<script type="text/javascript">
    (function () {
     "use strict";
    $(document).ready(function(){
    var SCRIPT_ROOT = "";   
    $('#cart').live('click', function(){
    var asin = $(this).attr('class').split(' ')[3];
            $.ajax({
                url: SCRIPT_ROOT + '/api' + '/mattel' + '/' + asin,
                datatype: 'json',
                error: function() {
                    alert("No Dice!");
                },
                success: function(data) {
                    console.log(data.product, data.asin);
                    $.ajax({
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        url: SCRIPT_ROOT + '/api/shopping',
                        data: JSON.stringify({"asin":data.asin, "user":"lwgray@gmail.com", "store":data.store, "product":data.product}),
                        error: function() {
                            alert("No Dice, Again!");
                        },
                        success: function(data) {
                            console.log(data.product);
                            },
                        dataType: 'json'
                    });
                }
            });
        }); 
    });
});
</script>    

问题:我的问题是你哪里出错了?以前曾经工作过。

1 个答案:

答案 0 :(得分:1)

这可能不起作用,因为您正在使用.live()和jQuery 1.11。在jQuery 1.9中,.live().on()取代。

http://api.jquery.com/on/

<script type="text/javascript">
    (function () {
     "use strict";
    $(document).ready(function(){
    var SCRIPT_ROOT = "";   
    $('#cart').on('click', function(){
    var asin = $(this).attr('class').split(' ')[3];
            $.ajax({
                url: SCRIPT_ROOT + '/api' + '/mattel' + '/' + asin,
                datatype: 'json',
                error: function() {
                    alert("No Dice!");
                },
                success: function(data) {
                    console.log(data.product, data.asin);
                    $.ajax({
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        url: SCRIPT_ROOT + '/api/shopping',
                        data: JSON.stringify({"asin":data.asin, "user":"lwgray@gmail.com", "store":data.store, "product":data.product}),
                        error: function() {
                            alert("No Dice, Again!");
                        },
                        success: function(data) {
                            console.log(data.product);
                            },
                        dataType: 'json'
                    });
                }
            });
        }); 
    });
});
</script>