我在在线服务器上运行功能时遇到错误(502错误的网关)。在本地服务器上运行时,我没有得到相同的错误

时间:2019-07-12 06:53:25

标签: python flask

我想做的主要目标是用json中的数据更新mongodb数据库(这是我正在使用的采集卡数据库的魔力)。在本地运行时,它可以正常工作。在线运行时,它不起作用,并且出现此502错误

这是我通过按钮调用的javascript函数

$(function() {    $('.test').live('click', 'button', function()
{

name = $(this).prev().val();
console.log(name);
    (
    $.ajax({
    url: "/test",
    data: {"name":name},
    type: 'POST',
    success: function(response) {

    $('.divteste').empty();
    $('.divteste').append(response);

    },
    error: function(error) {
        console.log('err');
        console.log(error);
        $('.divteste').append(error);
    }
})

)})});

这是对应的python路由

@app.route('/test', methods=['POST'])  # 
def test():
    pos=[]
    string=reescreve()
    return '..'

这是应该执行的主要内容

def processa(name,lista,layout): # checks whether the card is already exists in the database. if it does, updates it with further information if necessary.
temp=[]
temp2=[]
temp.append(lista)


num=CARDS_COLLECTION.find({"functionalname":name.lower()}).count()  ### checks if MTG card already exists in my database
if num==0:
    CARDS_COLLECTION.insert({"functionalname":name.lower(),"name":name, "layout":layout, "address":temp})


elif num>0:   ###  if it does, it might be necessary to add another set, i.e., another edition in which that card was printed to the document.
    temp3=[]
    query=CARDS_COLLECTION.find({"functionalname":name.lower()})
    for k in query:
        for j in k['address']:
            temp3.append(j[0])
    if lista[0] not in temp3:
        CARDS_COLLECTION.update({"functionalname":name.lower()},{'$addToSet': {'address': lista } })
return ('',204)



def reescreve():


CARDS_COLLECTION=MongoClient()['lista']['Cards']

CARDS_COLLECTION.remove()

content = json.loads(open("cards.json").read())

    for j in content:
        try:
            print j['name']
            if j['layout']=='normal' and j['digital']==False and j['set_type']!='memorabilia':
                url=str(j['image_uris']['normal'])
                final=url[url.find('normal')+6:]
                final=final[0:final.find("?")]
                processa(j['name'],[j['set'],j['set_name'],final],j['layout'])
        except:
            return 'fail2'
return ('',204)

ps:在线运行时,我永远不会在页面上打印此“完成”,而在本地运行时,是

0 个答案:

没有答案