フロントエンドの急速な発展に伴い、jsonpテクノロジーの適用は近年ますます少なくなっていますが、jsonpを詳細に理解する必要があります。これは、バックエンドとの連携方法にとって非常に重要です
jsonp
ご存じのとおり、jsonpはドメイン間でデータを取得する方法です。クロスドメインがある理由、クロスドメインがある理由については、ここでは詳しく説明しません。
ばかげたことを言わないで、
コードに直接アクセスしてください
function backFn(data) {
console.log(data)
}
<script src="httpsL//wwww.接口地址.com/?参数&callback=backFn"></script>
コードビハインド
这里用node为例子
服务器名称.get('/接口地址',(request,response) => {
fs.readFile('数据地址',(error,data) => {
let resData = `backFn(${
JSON.parse(data.toString())})`
response.send(resData)
console.log('请求已响应')
})
})
そんなに混乱していませんか?恐れずに少しずつ分析していきましょう
- jsonpの原則は、動的にスクリプトタグを作成し、src属性にインターフェイスアドレスを書き込んでデータを要求することです
- 要求されたインターフェースアドレスの後には、callback = backFNが続く必要があります。
- backFnは、フォアグラウンドで記述した関数です。この関数は、リクエストによって返されたパラメーターを受信するために使用されます。このパラメーターは、バックグラウンドでネゴシエートする必要があります
- コールバックもバックグラウンドでネゴシエートする必要があります。これはシグナルのようなものです
- バックグラウンドから返されるデータ形式は、backFn(含まれるデータ)形式である必要があります
バックエンドから返されるデータ形式には厳密な要件があります。詳しく調べて、
backFn()に精通していることを確認してください。これは、フロントデスクで記述したbackFn関数を直接実行してデータ
を処理することと同じです。パラメータとして渡される
これはjsonpの原則ですが、明確に感じますか?