同源策略&跨域javascript
JSONP(JSON with Padding)是资料格式JSON的一种“使用模式”,可让网页从别的网域获取资料。 —— 维基百科java
script
标签不受同源策略影响。DOM
中的 script
脚本能够当即获得执行。JavaScript
函数,用来接收服务端返回的数据。function onResponse(data) {
// do something
}
复制代码
script
标签执行请求。var script = document.createElement('script')
script.src = 'protocal://domain:port/path?callback=onResponse'
document.head.appendChild(script)
document.head.removeChild(script)
复制代码
app.get('/path', function(request, response) {
var data = getData()
var callback = request.query.callback
var result = `${callback}(${JSON.stringify(data)});`
response.send(result)
})
复制代码
script
标签响应并自动执行回调函数。GET
请求。script
脚本可能被注入恶意代码。