前后端分离处理jsonp
时间: 2024-01-10 15:04:54 浏览: 37
以下是前后端分离处理jsonp的方法:
1.前端代码示例:
```javascript
$.ajax({
url: 'http://example.com/api/data',
type: 'GET',
dataType: 'jsonp', // 设置dataType为jsonp
jsonp: 'callback', // 指定回调函数名
jsonpCallback: 'handleData', // 指定回调函数
success: function(data) {
console.log(data);
},
error: function(xhr, status, error) {
console.log(error);
}
});
function handleData(data) {
console.log(data);
}
```
2.后端代码示例(Python Flask框架):
```python
from flask import jsonify, request
@app.route('/api/data', methods=['GET'])
def get_data():
data = {'name': 'John', 'age': 30}
callback = request.args.get('callback') # 获取回调函数名
if callback:
content = str(callback) + '(' + jsonify(data).data.decode('utf-8') + ')' # 构造jsonp响应
return content, 200, {'Content-Type': 'application/javascript'}
else:
return jsonify(data)
```