ホームページ  >  記事  >  ウェブフロントエンド  >  VUE2.0でJsonpを使用する手順の詳細な説明

VUE2.0でJsonpを使用する手順の詳細な説明

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-28 11:12:232290ブラウズ

今回は、VUE2.0 で Jsonp を使用する手順について詳しく説明します。VUE2.0 で Jsonp を使用する際の 注意事項 は何ですか?

1. JSONP の目的と原則

JSONP を使用する主な目的は、スクリプトを動的に作成し、URL を動的に結合し、クロスドメインを実現するためにデータをキャプチャすることです。正確に言うと、AJAX リクエストはオリジンが同じであるため、クロスドメイン リクエストを行うことはできません。ただし、Script タグの src 属性内のリンクは、この機能を使用してクロスドメイン JS スクリプトにアクセスできなくなります。 JSON 形式のデータですが、特定の関数を呼び出す JS コードを返し、それを src 属性で呼び出してクロスドメインを実現します。

2. JSONPの使い方

2.1 githubからjsonpを導入します

プロジェクトを開きます>package.json>「dependency」の下にコードを追加します

「jsonp」: "^0.2 . 1"

"jsonp": "^0.2.1"

如图所示,然后执行安装cmd指令,并重新运行项目

npm install 
 npm run dev

2.2 封装jsonp.js

import originJSONP from 'jsonp'
export default function jsonp(url, data, option) {
 url += (url.indexOf('?') < 0 ? &#39;?&#39; : &#39;&&#39;) + param(data)
 return new Promise((resolve, reject) => {
 originJSONP(url, option, (err, data) => {
  if (!err) {
  resolve(data)
  } else {
  reject(err)
  }
 })
 })
}
function param(data) {
 let url = ''
 for (var k in data) {
 let value = data[k] !== undefined ? data[k] : ''
 url += `&${k}=${encodeURIComponent(value)}`
 }
 // 删除第一个&
 return url ? url.substring(1) : ''
}

目录结构如下:

2.3 jsonp.js的API调用

在src的文件夹下创建api文件夹,用于储存api调用的js,新建config.js和recommend.js两个文件。

config.js
export const commonParams = {
 g_tK: 5381,
 inCharset: 'utf-8',
 outCharset: 'utf-8',
 notice: 0,
 format: 'jsonp'
}
export const options = {
 param: 'jsonpCallback'
}
export const ERR_OK = 0
recommend.js
import jsonp from 'common/js/jsonp'
import {commonParams, options} from './config'
export function getRecommend() {
 const url = 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg' //此处的url可以自行修改,本文是qq音乐链接
 const data = Object.assign({}, commonParams, {
 platform: 'h5',
 uin: 0,
 needNewCode: 1
 })
 return jsonp(url, data, options)
}

目录结构如下:

2.4 recommend.vue文件调用

在项目目录下的src>components>recommend>

に示すように図に示すように、install

cmd コマンドを実行し、プロジェクトを再実行します。

<template>
 <p class="recommend">
  recommend
 </p>
</template>
<script type="text/ecmascript-6">
import {getRecommend} from 'api/recommend'
import {ERR_OK} from 'api/config'
export default {
 name: 'recommend',
 created() {
 this._getRecommend()
 },
 methods: {
 _getRecommend() {
  getRecommend().then((res) => {
  if (res.code === ERR_OK) {
   console.log(res.data.slider)
  }
  })
 }
 }
}
</script>
2.2 jsonp.js のカプセル化

rrreeeディレクトリ構造

は次のとおりです

2.3 jsonp.js API 呼び出しsrcファイル内の
apiから呼び出されるjsを格納するフォルダーの下にapiフォルダーを作成し、config.jsとrecommend.jsの2つのファイルを新規作成します。

rrreee

ディレクトリ構造は次のとおりです:

🎜2.4 recommend.vue ファイルは 🎜🎜🎜 対応するファイルを呼び出します。この記事のさらに興味深い情報については、php 中国語 Web サイトの他の関連記事にご注目ください。 🎜🎜推奨書籍: 🎜🎜🎜Vue.js でテーブルを追加および削除する手順の詳細な説明🎜🎜🎜🎜🎜vue pass router の使用方法🎜🎜🎜

以上がVUE2.0でJsonpを使用する手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。