1

私はpythonピラミッドで作業しており、基本的に次のようなルートを定義しました:

config.add_route('metaschemaxml', '/metaschema/{id}/xml')

ビュー マッピング metashemaxml は次のようになります。

@view_config(route_name='metaschemaxml', renderer='string')
def metaxml_view(request):
  schema = request.matchdict['id']
  urlparams = request.query_string
  urlparams.strip()
  required = 0
  for x in urlparams.split(','):
      if "required=1" in x:
          required = 1
  rxml = '<?xml version="1.0" encoding="utf-8"?><eroot></eroot>'

  try:
      tags = DBSession.query(mtemplatexelem_model).filter(mtemplatexelem_model.template_id == int(schema)).order_by(mtemplatexelem_model.xelem_id).all()
      rxml = getXMLFromQuery(tags, required)
  except DBAPIError:
      return Response("Error in DB", content_type='text/plain', status_int=500)

  return Response(rxml, content_type='text/xml', charset='utf8')

たとえば、次のように呼び出すと、すべてうまく機能します。

http://localhost:6543/metaschema/1/xml

しかし、Ajax で同じリクエストを行うと、次のようになります。

XMLHttpRequest cannot load http://172.26.16.28:6543/metaschema/1/xml. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

ピラミッドで ajax リクエストを許可するにはどうすればよいですか?

ありがとう、カルロス

4

2 に答える 2