Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery sqlite数据库问题_Jquery_Python_Sqlite_Flask - Fatal编程技术网

Jquery sqlite数据库问题

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

使用JS/jQuery,我执行以下操作以获取JSON字符串:

$(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']
提供了所有字典键的完整列表。您是否在调试模式下运行应用程序?它将提供更多的信息和一个很好的堆栈跟踪。是的,我已经重写了一堆代码,我将发布一个新问题,因为我想在我进入数据库之前,我还有一些其他问题要担心。谢谢你的帮助,没问题。老实说,对于您想要做的事情,您应该生成一些测试用例。甚至不要使用网络浏览器。一旦测试成功,就打开浏览器。老实说,我从来没有测试过任何东西,甚至不知道从哪里开始。这是我想尽快学会的事情。