Python @钩子和@route未被执行

Python @钩子和@route未被执行,python,ajax,bottle,beaker,Python,Ajax,Bottle,Beaker,我将AJAX请求发送到pythonscript“scripts/serverscript.py”,原因是@hook('before_request'),并且 @路由('scripts/serverscript.py')未执行?有关如何调试此路由并修复此问题的任何输入 AJAX调用:- $.ajax({ dataType: "json", type: "POST", url: "scripts/

我将AJAX请求发送到pythonscript“scripts/serverscript.py”,原因是@hook('before_request'),并且 @路由('scripts/serverscript.py')未执行?有关如何调试此路由并修复此问题的任何输入

AJAX调用:-

    $.ajax({
                dataType: "json",
                type: "POST",
                url: "scripts/serverscript.py",
                //data: data,
                data: JSON.stringify(data_SU),
                error   : function (xhr, ajaxOptions, thrownError){
                    alert(xhr.status);
                    alert(thrownError); 
                    console.log("error return for server");
                },
serverscript.py

#!/usr/bin/python

import bottle
from beaker.middleware import SessionMiddleware
from bottle import hook,route
import sys
import json

result = {'success':'true','message':'The Command Completed Successfully'}
myjson = json.load(sys.stdin)
print 'Content-Type: application/json\n\n'
print json.dumps(result)

session_opts = {
    'session.type': 'file',
    'session.data_dir': './session/',
    'session.auto': True,
}

app = SessionMiddleware(bottle.app(), session_opts)

@hook('before_request')
def setup_request():
    result['message'] = r'insetup result'
    print 'Content-Type: application/json\n\n'
    print json.dumps(result)
    request.session = request.environ['beaker.session']

@route('scripts/serverscript.py')
def index():
    result['message'] = r'in - index'
    data = { 'procesing': "in index" }        
    print json.dumps(data)
    if 'processing' in request.session:
        data = { 'procesing': request.session['processing'] }        
        print json.dumps(data)
        return data

    processor()

def processor():
    result['message'] = r'in - processor'
    request.session['processing'] = 1
    #print "in processor"
    # Do some processing here for the first request
    # When processing is done you can clear "state" variable in session
    cherrypick.cp_main()
    del request.session['processing']
    request.session.modified = True

把Javascript从等式中去掉。当您直接点击服务器时,会发生什么?路由有效吗?@ron.rothman-当我直接运行`python serverscript.py`时,脚本就挂起了……是的,这不是它应该做的吗?毕竟,它是一个服务器——它应该等待并侦听请求。我遗漏了什么吗?你没有运行服务器。您需要调用
battle.run()
。考虑一下读写得很好,来解释如何运行它。我感觉到你对Python是新的。也许你应该在一个比这更不高级的任务上练习。让应用服务器正确地与AJAX客户机一起工作并不是件小事。也许从更直接的事情开始。(不是试图居高临下,只是试图帮助引导。)将Javascript从等式中剔除。当您直接点击服务器时,会发生什么?路由有效吗?@ron.rothman-当我直接运行`python serverscript.py`时,脚本就挂起了……是的,这不是它应该做的吗?毕竟,它是一个服务器——它应该等待并侦听请求。我遗漏了什么吗?你没有运行服务器。您需要调用
battle.run()
。考虑一下读写得很好,来解释如何运行它。我感觉到你对Python是新的。也许你应该在一个比这更不高级的任务上练习。让应用服务器正确地与AJAX客户机一起工作并不是件小事。也许从更直接的事情开始。(不是居高临下,只是想帮助引导。)