一、想象
通过map local修改响应数据的时候,可能会遇到跨域问题,如下所示:
这种现象就是所谓的跨域,然后观察Charles响应信息::method OPTIONS
二、解释OPTIONS
OPTIONS请求称为"预检"请求(preflight),它的作用是:询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP请求和头信息字段。只有得到肯定答复,浏览器才会发出正式的HttpRequest(GET、POST等)第二次请求;否则就报错,也不会进行第二次请求。
三、解决思路:
通过浏览器f12检查,所测试接口的option请求涉及的响应头信息,然后全部通过rewrite进行加上,这样就可以结合map local进行重写响应数据
其中:
Access-Control-Allow-Headers – 必须写
Access-Control-Allow-Methods – 可以不写
access-control-allow-origin-- 写
access-control-allow-credentials --写
四、根据上述修改,然后重新刷新页面,发现map local修改的数据可以正常返回