ajax 如何接受flask 传送的数组对象?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax 如何接受flask 传送的数组对象?相关的知识,希望对你有一定的参考价值。

在阿里克斯当中,只要接收数据的地址写对了,接口没有弄错,
那么对方发送过来的数组对象肯定可以接受,只不过js不能直接操作书的对象,应该把先把数字对象转化为建筑队的形式。
参考技术A <script type=text/javascript>
function ajaxForm()
$.ajax(
type: 'post',
//contentType: "application/json; charset=UTF-8",
url: $SCRIPT_ROOT,
dataType: 'json',
data:
'n1': $('input[name=n1]').val(),
'n2': $('input[name=n2]').val(),
'n3': $('input[name=n3]').val(),
,
error: function(xhr, err)
alert('请求失败,原因可能是:' + err + '!')
,
success: function(data, textStatus)
$('#max').text(data.max);
$('#min').text(data.min);

);
return false

</script>

如何在 Python 的 Flask 中识别通过 AJAX 发出的请求?

【中文标题】如何在 Python 的 Flask 中识别通过 AJAX 发出的请求?【英文标题】:How can I identify requests made via AJAX in Python's Flask? 【发布时间】:2014-09-01 11:44:21 【问题描述】:

我想检测浏览器是否通过 AJAX (AngularJS) 发出请求,以便我可以返回 JSON 数组,或者我是否必须呈现模板。我该怎么做?

【问题讨论】:

【参考方案1】:

Flask 在request 对象中带有is_xhr 属性。

from flask import request
@app.route('/', methods=['GET', 'POST'])
def home_page():
    if request.is_xhr:
        context = controllers.get_default_context()
        return render_template('home.html', **context)

注意:此解决方案已弃用且不再可行。

【讨论】:

请注意(来自 Flask 官方文档):“这只适用于支持 X-Requested-With 标头并将其设置为“XMLHttpRequest”的库。” "'Request.is_xhr' 自烧瓶版本 0.13 起已被弃用",上述答案不再可行 @kres0345 您想回答当前有效的方法吗?我会支持您的回答? @AlexLordThorsen 我找不到检查请求是否来自 ajax 的“正确”方法,但我发布了一个适合我的目的的解决方法【参考方案2】:

对于未来的读者:我所做的是如下所示:

request_xhr_key = request.headers.get('X-Requested-With')
if request_xhr_key and request_xhr_key == 'XMLHttpRequest':
   #mystuff

   return result
abort(404,description="only xhlhttprequest is allowed")

如果请求标头不包含“XMLHttpRequest”值,这将给出 404 错误。

【讨论】:

【参考方案3】:

没有任何方法可以确定请求是否由 ajax 发出。

我发现对我有用的是简单地为 xhr 请求包含一个 get 参数,而在非 xhr 请求中简单地省略该参数。

例如:

XHR 请求:example.com/search?q=Boots&amp;api=1 其他请求:example.com/search?q=Boots

【讨论】:

以上是关于ajax 如何接受flask 传送的数组对象?的主要内容,如果未能解决你的问题,请参考以下文章

django 接受 ajax 传来的数组对象

ajax传对象或者数组到后端

如何在 Python 的 Flask 中识别通过 AJAX 发出的请求?

如何在 Flask 中接受通过 ajax 发送的 FormData?

ajax传数组怎么传

Flask 数据json序列化(四)