ホームページ > ウェブフロントエンド > jsチュートリアル > JSONP クロスドメイン情報共有_json

JSONP クロスドメイン情報共有_json

WBOY
リリース: 2016-05-16 17:50:43
オリジナル
1090 人が閲覧しました

同一オリジン ポリシーにより、通常、server1.example.com にある Web ページは、HTML の <script> 要素を除き、server1.example.com 以外のサーバーと通信できません。 <script> 要素のこのオープン ポリシーを使用すると、Web ページは他のソースから動的に生成された JSON データを取得できます。この使用パターンは JSONP と呼ばれます。 JSONP でキャプチャされたデータは JSON ではなく、JSON パーサーで解析されるのではなく JavaScript インタープリターで実行される任意の JavaScript です。 <br><br>以下はプロジェクト内の私のアプリケーションです: <br><br>説明: ドメイン名 dev.uc.everychina.com は、ドメイン名 dev.members.everychina.com < のデータを取得したいと考えています。 🎜>dev. members.everychina.com のサーバー側コード: <BR><BR><div class="codetitle"><span><a style="CURSOR: pointer" data="93218" class="copybut" id="copybut93218" onclick="doCopy('code93218')"> コードをコピー <U> コードは次のとおりです: <div class="codebody" id="code93218">class JsController extends CController { <BR>public function actionIndex() { <BR>$callback = isset($_GET['callback']) : ''; >$result = array(); <BR>$userinfo = Intf_Client_Uc_User::instance()->getLoginUser(); <BR>$cid = Everychina_Member::instance()->getCid($userinfo['uid' ]); <BR>// 会社ショールームのスコア<BR>$room_score = Ec_RoomScore::getInstance(); <BR>//ショールームの古いスコアを取得します<BR>$update_status = true; <BR>if(isset($_GET ['action']) && $_GET['action']=='update') { <BR>$score_res = $room_score->getScoreInfo($cid); <BR> $room_score->updateScoreResult($cid ,$score_res); <BR>$update_status = true; <BR>$result['status'] = $res = $room_score-> ;getScoreResult($cid); <BR>$result['score'] = $room_score->getScoreResultView($res['score']); <BR>if ($callback) { <BR>$js = json_encode ($result); <BR>echo "$callback( ($js) );"; <BR>} <BR>} <BR><BR> <BR>ドメイン名 dev.uc.everychina.comフロントエンド呼び出し (html) <BR><BR> <BR><BR>コードをコピー<BR><div class="codetitle"><span> コードは次のとおりです。<a style="CURSOR: pointer" data="84932" class="copybut" id="copybut84932" onclick="doCopy('code84932')"><U> < a id="update_score" href="#" onclick="ajaxUpdateScore( );return false;">スコアを更新</a> <div id="member_score"></div> > javascript <div class="codebody" id="code84932"><BR><BR><BR>コードをコピー<BR><BR><div class="codetitle"> コードは次のとおりです:<span><a style="CURSOR: pointer" data="62906" class="copybut" id="copybut62906" onclick="doCopy('code62906')"> <U> 関数ajaxUpdateScore(){ if(document.getElementById("member_score_script")) { var core_script = document.getElementById("member_score_script") document.body.removeChild(score_script); var core_script = document.createElement("script"); <div class="codebody" id="code62906">score_script .id = "member_score_script"; <BR>score_script.src = 'http://dev.members.everychina.com/index.php? r=js/index&callback=show_score&t=' new Date().getTime(); <BR>document.body.appendChild(score_script); <BR>} <BR>function show_score(json) { <BR>if(json. status == true) { <BR>var html = '<p>level: ' json.score.level '</p>'; <BR>html = '<p>msg:' json.score. msg '</p>'; <BR>html = '<p> スコア:' json.score.score '</p>'; <BR>$("#member_score") ; <BR>} <BR>} <BR><BR></script>

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート