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

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

jQuery版本

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.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;

                    }

            })

  

posted @ 2018-05-10 00:17  QQQnull  阅读(702)  评论(0)    收藏  举报