Flask提供json api跨域访问,ajax接收json数据

Posted qqqmadnull

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask提供json api跨域访问,ajax接收json数据相关的知识,希望对你有一定的参考价值。

ajax在判断请求成功时会判断返回的数据是否为json,需要将response的content-type设置为application/json,数据为标准的json格式

jQuery版本

<script src="https://cdn.bootcss.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"></script>

flask代码示例

@app.route(‘/test‘,methods=[‘GET‘,‘POST‘])
def test():
    a = []
    a.append(Newobject().__dict__)
    #设置content-type
    resp=Response(json.dumps(a),mimetype=‘application/json‘)
    #支持跨域请求
    resp.headers[‘Access-Control-Allow-Origin‘] = ‘*‘
    return resp

  

ajax示例,请求返回的结果为result,一个json转换后的对象

$.ajax({
                url:"http://192.168.11.130/test",
                type:‘GET‘,
                dataType:‘JSON‘,
               success:function (result) {

                    console.log("ajax succeed")
                   console.log(typeof(result))
                    obj=result;
                    var pcapdata=‘‘;
                    for(var i=0;i<obj.length;i++)
                    {
                        pcapdata=pcapdata+‘<tr>‘
                        pcapdata=pcapdata+‘<td>‘+obj[i].time+‘</td>‘;
                        pcapdata=pcapdata+‘<td>‘+obj[i].srcip+‘</td>‘;
                        pcapdata=pcapdata+‘<td>‘+obj[i].dstip+‘</td>‘;
                        pcapdata=pcapdata+‘<td>‘+obj[i].httphost+‘</td>‘;
                        pcapdata=pcapdata+‘<td>‘+obj[i].requesturi+‘</td>‘;
                        pcapdata=pcapdata+‘<td>‘+obj[i].pcapfile+‘</td>‘+‘</tr>‘;
                    }

                    document.getElementById("td1").innerhtml=pcapdata;

                    }

            })

  

以上是关于Flask提供json api跨域访问,ajax接收json数据的主要内容,如果未能解决你的问题,请参考以下文章

Flask解决跨域

ajax——CORS跨域调用REST API 的常见问题以及前后端的设置

springmvc用@crossorigin解决跨域 ajax怎么写

ajax跨域访问python,返回json数据拿不出来

使用ajax获取本地json跨域问题

允许远程跨域访问的一般处理程序