AJAX Python调用定义
Closed. This question needs details or clarity. It is not currently accepting answers.
                </div>
            </div>
        </div>
                <hr class="my12 outline-none baw0 bb bc-powder-2">
            <div class="grid fw-nowrap fc-black-600">
                    <div class="grid--cell mr8">
                        <svg aria-hidden="true" class="svg-icon iconLightbulb" width="18" height="18" viewbox="0 0 18 18"><path d="M9.5.5a.5.5 0 0 0-1 0v.25a.5.5 0 0 0 1 0V.5zm5.6 2.1a.5.5 0 0 0-.7-.7l-.25.25a.5.5 0 0 0 .7.7l.25-.25zM1 7.5c0-.28.22-.5.5-.5H2a.5.5 0 0 1 0 1h-.5a.5.5 0 0 1-.5-.5zm14.5 0c0-.28.22-.5.5-.5h.5a.5.5 0 0 1 0 1H16a.5.5 0 0 1-.5-.5zM2.9 1.9c.2-.2.5-.2.7 0l.25.25a.5.5 0 1 1-.7.7L2.9 2.6a.5.5 0 0 1 0-.7z" fill-opacity=".4"></path><path opacity=".4" d="M7 16h4v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-1z" fill="#3F3F3F"></path><path d="M15 8a6 6 0 0 1-3.5 5.46V14a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-.54A6 6 0 1 1 15 8zm-4.15-3.85a.5.5 0 0 0-.7.7l2 2a.5.5 0 0 0 .7-.7l-2-2z" fill="#FFC166"></path></svg>
                    </div>
                <div class="grid--cell lh-md">
                    <p class="mb0">
                        <b>Want to improve this question?</b> Add details and clarify the problem by <a href="/posts/25250275/edit">editing this post</a>.
                    </p>
                    <p class="mb0 mt6">Closed <span title="2014-08-12 03:35:40Z" class="relativetime">5 years ago</span>.</p>
                </div>
            </div>
    </aside>

I want to call a definition that is located in Python with a parameter, using AJAX. The web framework I'm using is Flask.

In my test.py file:

def example(param):

In my JS file

$.ajax({
 type: 'POST',
 url: "test.py"
 //pass param here?
});
</div>

1个回答


  $。ajax({
  输入:“ POST”,
  网址:“ test.py”
  数据:{
     参数:param
}
});
</ code> </ pre>

确保包括您的CSRF令牌。 您可以在此处 http://flask.pocoo.org/snippets/3/ </ p>

您可以将其添加到您的js代码中。</ p>

  function getCookie(name){
     var cookieValue = null;
     如果(document.cookie && document.cookie!=''){
         var cookies = document.cookie.split(';');
         for(var i = 0; i <cookies.length; i ++){
             var cookie = jQuery.trim(cookies [i]);
             //此Cookie字符串是否以我们想要的名称开头?
             如果(cookie.substring(0,name.length +1)==(name +'=')){
                 cookieValue =解码URIComponent(cookie.substring(name.length + 1));
                 打破;
             }
         }
     }
     返回cookieValue;
}
var csrftoken = getCookie('csrftoken');

函数csrfSafeMethod(方法){
     //这些HTTP方法不需要CSRF保护
     return(/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$ .ajaxSetup({
     beforeSend:function(xhr,settings){
         如果(!csrfSafeMethod(settings.type)&&!this.crossDomain){
             xhr.setRequestHeader(“ X-CSRFToken”,csrftoken);
         }
     }
});
</ code> </ pre>
     </ div>

展开原文

原文

$.ajax({
 type: 'POST',
 url: "test.py"
 data: {
    param: param
}
});

make sure to include your CSRF token. You can learn more about it here http://flask.pocoo.org/snippets/3/

you can add this to your js code.

function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie != '') {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
            var cookie = jQuery.trim(cookies[i]);
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + 1) == (name + '=')) {
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            }
        }
    }
    return cookieValue;
}
var csrftoken = getCookie('csrftoken');

function csrfSafeMethod(method) {
    // these HTTP methods do not require CSRF protection
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
    beforeSend: function(xhr, settings) {
        if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
            xhr.setRequestHeader("X-CSRFToken", csrftoken);
        }
    }
});

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问