Jquery sqlite数据库问题
使用JS/jQuery,我执行以下操作以获取JSON字符串:Jquery sqlite数据库问题,jquery,python,sqlite,flask,Jquery,Python,Sqlite,Flask,使用JS/jQuery,我执行以下操作以获取JSON字符串: $(document).on('click',".order_submit", function() { prodJSON = JSON.stringify(prodData) console.log(prodJSON) $.ajax({ url: '/', type: 'GET', data: prodJSON
$(document).on('click',".order_submit", function() {
prodJSON = JSON.stringify(prodData)
console.log(prodJSON)
$.ajax({
url: '/',
type: 'GET',
data: prodJSON
});
});
字符串的console.log提供以下内容:
[{"name":"Sip 'n' Sizzle T-Shirt","price":"10.50","quantity":1}]
这是我的代码:
@app.route('/', methods = ['GET','POST'])
def entry_page():
if request.method == 'POST':
data = request.get_json()
# data = data.loads()
data = data.loads
print data
# name = data['name']
# print name
# price = data['price']
# quantity = data['quantity']
# db = get_db()
# order = db.execute('insert into orders (name, price, quantity) values (?, ?, ?)',
# [data[name], data[price], data[quantity]] )
# db.commit()
return render_template('thankyou.html')
else:
return render_template('home.html')
在终端中,我得到的数据的打印如下:
[{%22name%22:%22Sip%20%27n%27%20Sizzle%20T-Shirt%22,%22price%22:%2210.50%22,%22quantity%22:1}]
尝试访问字典中的值无效。我是否需要更改JS中的某些内容?此外,它仍然没有呈现if语句中返回的thankyou.html模板。根据您的问题,您的数据是-
[{"name":"Sip 'n' Sizzle T-Shirt","price":"10.50","quantity":1}]
如果确实是这样,那么就有一个包含单个元素的列表,它是一个字典。要访问字典,必须首先访问列表中的元素
data[0]['name']
if request.get_json==“POST”
将始终返回False
,因为您将方法get_json
与字符串“POST”
-您想要request.method
。。。改变这一点会带来最大的不同:-)@SeanVieira谢谢!我更改了它,现在收到了这个错误:500(内部服务器错误)
data=request.get\u json.load()
应该是data=request.get\u json()
@SeanVieira我完全更新了我上面的问题data[0]['name']
提供了所有字典键的完整列表。您是否在调试模式下运行应用程序?它将提供更多的信息和一个很好的堆栈跟踪。是的,我已经重写了一堆代码,我将发布一个新问题,因为我想在我进入数据库之前,我还有一些其他问题要担心。谢谢你的帮助,没问题。老实说,对于您想要做的事情,您应该生成一些测试用例。甚至不要使用网络浏览器。一旦测试成功,就打开浏览器。老实说,我从来没有测试过任何东西,甚至不知道从哪里开始。这是我想尽快学会的事情。