Ajax方法好,网站感觉跟高大上,但由于Js的局限,跨域Ajax无法实现,这里,讲一下解决办法,前提是需要能够自己可以控制瓶端的响应。
<强>主要技术:强>
修改服务器相应的相应的头,使其可以相应任意域名,设置响应头,使其能够相应发布方法。
实现代码:
这里先放瓶代码:
从瓶进口make_response @app.route(/测试,方法=[‘得到’,'文章']) def测试(): 如果request.method==暗玫健? rst=make_response (' aaa ') rst。头[' Access-Control-Allow-Origin ']=?’#任意域名 返回rst 其他: rst=make_response (bbb) rst。头[' Access-Control-Allow-Origin ']=?’ rst。头[' Access-Control-Allow-Methods ']=癙OST”#响应 返回rst >之前html测试代码:
& lt; !DOCTYPE html> & lt; html lang=癳n”比; & lt; head> & lt;元charset=皍tf - 8”比; & lt; title> Title & lt;/head> & lt; body> & lt;跨度id=暗澄谰痹诓馐詆et & lt; button> click & lt; p id=笆奔洹痹诓馐詐ost & lt;输入类型="提交" value=" https://www.yisu.com/zixun/click "比; & lt; script> 函数getPostAjax () { var xmlhttp=new XMLHttpRequest (); xmlhttp。onreadystatechange=function () { 如果(xmlhttp。readyState=4,,xmlhttp。状态==200){ . getelementbyid(“时间”)。innerText=xmlhttp.responseText实现; } } xmlhttp.open(“后”,“http://localhost: 5000/测试”,真正的); xmlhttp.setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”); #这句话可以发送帖子数据,没有此句后的内容无法传递 xmlhttp.send (); } 函数getAjax () { var xmlhttp=new XMLHttpRequest (); xmlhttp。onreadystatechange=function () { 如果(xmlhttp。readyState==4,,xmlhttp。状态==200){ . getelementbyid (ss) .innerHTML=xmlhttp.responseText; } } xmlhttp.open(“获得”、“http://localhost: 5000/测试”,真正的); xmlhttp.send (); } & lt;/script> & lt;/body> & lt;/html> >之前无法控制响应头
对于这种情况,就请求可以使用jquery完成,帖子,无能为力。目前前后端均我一人编写,暂不考虑虑此情况。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
原生JS实现Ajax跨域请求瓶响应内容