一个页面想通过请求外部地址如 https://api.oioweb.cn/api/weather/GetWeather,直接通过ajax请求会有跨域问题, 动态获取天气信息,直接在浏览器输入可以看到返回内容 ,如何通过纯前端动态拿到返回的内容
var script = document.createElement('script');
script.type = 'text/javascript';
// 使用与后端定义的回调函数名一致的名称
script.src = 'https://api.oioweb.cn/api/weather/GetWeather?callback=handleWeatherData';
document.head.appendChild(script);
// 回调执行函数
function handleWeatherData(data) {
console.log(data);
}
script.onerror = function(err) {
console.error('Error loading script');
};
这样通过jsonp方式拿不到信息
这个接口不支持jsonp,
callback=handleWeatherData
没反应,返回的还是json。jsonp 是接口方要约定好的一个参数,前端通过callback=xxx传给接口方,接口方给你包成
xxx({json})
的方法调用方式给回前端浏览器运行。如果对方都没有这个设定,前端传也没有意义。