WSGI with python eve[Errno 32]管道破裂。。。阿贾克斯

2024-09-27 21:30:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我在运行一个简单的wsgi服务器

from run import app

if __name__ == "__main__":
    app.run(threaded=True, debug=True)

我用get请求撞击服务器,服务器返回200条消息,但不返回任何数据。我收到以下错误消息

^{pr2}$

我在一些地方读到,使用threaded选项可以避免管道破裂错误,但似乎对我的情况没有帮助。有人有什么想法吗?在

烧瓶版本为0.12.2。在

!!!编辑!!!在

因此,我开发的页面的重点是从单张地图中获取用户定义的坐标,并调用数据库,在本例中为neo4j。查询工作正常,API也很好,因为它在postman中运行良好。所以问题一定出在我的网络应用程序中。这是我的网页服务器应用程序。也许在Ajax电话里?在

from flask import Flask, render_template
from flask_cors import CORS

app = Flask(__name__)
CORS(app)
@app.route('/demo')
def webMap():
    return render_template('demo3.html')

if __name__ == '__main__':
    app.config['DEBUG'] = True
    app.run(host='localhost', port=8090)

以下是JS:

var map = L.map('map1').setView([51.506725, -0.076486], 12);

    L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
    attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>',
    maxZoom: 18,
    id: 'mapbox.streets',
    accessToken: '*************************'
}).addTo(map);


//add start marker to map and delete old marker
var startmarker = null;

map.on('click', function (e) {
    if (startmarker !== null) {
        map.removeLayer(startmarker);
    }
     startmarker = L.marker(e.latlng, {
         title: "Start Point",
     }).addTo(map);
    startcoords = e.latlng.lng.toString() + "&" + e.latlng.lat.toString();
    startmarker.bindPopup("Start " + startcoords);
});


//add end marker to map and delete old marker

var endmarker = null;
map.on('contextmenu', function (e) {
    if (endmarker !== null) {
        map.removeLayer(endmarker);
    }
     endmarker = L.marker(e.latlng, {
         title: "End Point",
     }).addTo(map);
    endcoords = e.latlng.lng.toString() + "&" + e.latlng.lat.toString();
    endmarker.bindPopup("End " + endcoords);
    coords = startcoords+"&"+endcoords;
});

// choose query type, click button & Ajax call to API server

$("#button").click(function() {
    var val = $('input[name=query]:checked').val()
    if (val == 'route') {
        stuff = $.ajax({
            url: "http://127.0.0.1:5000/route&"+coords,
            type: "GET",
            dataType: "json" ,      
        })
        .done(function( json ) {
            alert(JSON.stringify(stuff));  // trying to JSON back will work out how to display it after I get some data returned 
        })
        .fail(function( xhr, status, errorThrown ) {
            alert( "Sorry, there was a problem!");
            console.log( "Error: " + errorThrown );
            console.log( "Status: " + status );
            console.dir( xhr );
        })
        .always(function( xhr, status ) {
            alert( "The request is complete!" );
        });

Tags: tonamefromapphttpmapifvar
1条回答
网友
1楼 · 发布于 2024-09-27 21:30:23

“破裂的管道表明烧瓶过程想要与之对话的插座或管道的另一端已经死亡。考虑到您正在与数据库交互,很可能是数据库终止了连接,或者连接由于其他原因而终止了“(Source

相关问题 更多 >

    热门问题