2

好的,所以我在服务器端有这段代码:

@app.route('/physical_graph') 
@login_required 
def physical_graph():
    # Some code
    return generate_graph_view()

如果我们点击圆形图标,我们将获得链接/physical_graph#physical.circular:

<a class="icon" href="/physical_graph#physical.circular">
    <img src="{{url_for('static',filename='images/circular64x64.png')}}" 
         id="circular_icon" width="32" height="32" title="Circular layout"/>
</a>

我的问题是:我怎样才能告诉 Flask 哈希后的字符串是什么?我需要这个,因为注释中的代码取决于这个字符串。我尝试将 app.route 声明为:

@app.route('/physical_graph#<some_string>')

但没有成功 - 它给了我错误 404。

任何想法如何做到这一点?

4

1 回答 1

1

当您将其 ajaxify 时,您需要将 physical.circle 传递给服务器。首先只是对使用的评论icon:

<!-- notice i change from icon -> graphIcon icon is too general  -->
<!--a stylist would be angry at you for using icon -->
<a class="graphIcon" href="/physical_graph#physical.circular"> .. </a>

您首先有一些选择是将其传递到 data 属性中,这将放置在 javascript 中的某个位置(仅执行一次)。

jQuery("#circular_icon").click(function() {
   $.ajax({
         url:'/physical_graph', 
         data:{
               'graph_type': 'physical_graph.circular'
         },
         'success':function(data){
             //your function goes here. 
         }
   })
} );

@app.route('/physical_graph') 
@login_required 
def physical_graph():
  _type = request.args.get('graph_type')
于 2013-03-25T13:52:14.990 回答