目标:目标非常简单。我应该能够单击按钮并将信息发布到数据库。
问题:点击按钮不发布到数据库。
设置:我正在使用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>
问题:我的问题是你哪里出错了?以前曾经工作过。
答案 0 :(得分:1)
这可能不起作用,因为您正在使用.live()
和jQuery 1.11。在jQuery 1.9中,.live()
被.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>