欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JSONP 跨域共享信息

 更新時間:2012年08月16日 11:33:52   作者:  
JSONP(JSON with Padding)是資料格式 JSON 的一種“使用模式”,可以讓網(wǎng)頁從別的網(wǎng)域要資料。另一個解決這個問題的新方法是跨來源資源共享
由于同源策略,一般來說位于 server1.example.com 的網(wǎng)頁無法與不是 server1.example.com 的服務(wù)器溝通,而 HTML 的 <script> 元素是一個例外。利用 <script> 元素的這個開放策略,網(wǎng)頁可以得到從其他來源動態(tài)產(chǎn)生的 JSON 資料,而這種使用模式就是所謂的 JSONP。用 JSONP 抓到的資料并不是 JSON,而是任意的 JavaScript,用 JavaScript 直譯器執(zhí)行而不是用 JSON 解析器解析。

下面是我在一個項目中的應(yīng)用:

描述:域名dev.uc.everychina.com 要獲得域名 dev.members.everychina.com下的數(shù)據(jù)
dev.members.everychina.com的服務(wù)器端代碼:
復(fù)制代碼 代碼如下:

class JsController extends CController {
public function actionIndex() {
$callback = isset($_GET['callback']) ? $_GET['callback'] : '';
$result = array();
$userinfo = Intf_Client_Uc_User::instance()->getLoginUser();
$cid = Everychina_Member::instance()->getCid($userinfo['uid']);
//公司展廳評分
$room_score = Ec_RoomScore::getInstance();
//獲得展廳老的評分
$update_status = true;
//重新評分
if(isset($_GET['action']) && $_GET['action']=='update') {
$score_res = $room_score->getScoreInfo($cid);
$room_score->updateScoreResult($cid,$score_res);
$update_status = true;
}
$result['status'] = $update_status;
$res = $room_score->getScoreResult($cid);
$result['score'] = $room_score->getScoreResultView($res['score']);
if ($callback) {
$js = json_encode($result);
echo "$callback( ($js) );";
}
}

域名 dev.uc.everychina.com 下,前端調(diào)用(html)
復(fù)制代碼 代碼如下:

<a id="update_score" href="#" onclick="ajaxUpdateScore();return false;">update score</a>
<div id="member_score"></div>

javascript
復(fù)制代碼 代碼如下:

   function ajaxUpdateScore(){
if(document.getElementById("member_score_script")) {
var score_script = document.getElementById("member_score_script");
document.body.removeChild(score_script);
}
var score_script = document.createElement("script");
score_script.id = "member_score_script";
score_script.src = 'http://dev.members.everychina.com/index.php?r=js/index&callback=show_score&t='+new Date().getTime();
document.body.appendChild(score_script);
}
function show_score(json) {
if(json.status == true) {
var html = '<p>level:'+json.score.level+'</p>';
html += '<p>msg:'+json.score.msg+'</p>';
html += '<p>score:'+json.score.score+'</p>';
$("#member_score").html(html);
}
}

相關(guān)文章

  • ajax處理php返回json數(shù)據(jù)的實例代碼

    ajax處理php返回json數(shù)據(jù)的實例代碼

    有時候我們需要ajax處理php返回的json數(shù)據(jù),適合經(jīng)常用php開發(fā)的朋友,需要的朋友可以參考下
    2013-01-01
  • 把普通對象轉(zhuǎn)換成json格式的對象的簡單實例

    把普通對象轉(zhuǎn)換成json格式的對象的簡單實例

    下面小編就為大家?guī)硪黄哑胀▽ο筠D(zhuǎn)換成json格式的對象的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • JSON掃盲帖 JSON.as類教程

    JSON掃盲帖 JSON.as類教程

    如果json字符串是從html用FlashVars來傳遞參數(shù)時那么字符串中的第一個雙引號(包括雙引號)以后的內(nèi)容就不會得到傳送.
    2009-02-02
  • 半個小時學(xué)json(json傳遞示例)

    半個小時學(xué)json(json傳遞示例)

    這篇文章主要介紹了半個小時學(xué)json(json傳遞示例),主要包括一維數(shù)組與二維數(shù)組,需要的朋友可以參考下
    2016-12-12
  • javascript JSON操作入門實例

    javascript JSON操作入門實例

    JSON (JavaScript Object Notation)一種簡單的數(shù)據(jù)格式,比xml更輕巧。 JSON 是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON 數(shù)據(jù)不需要任何特殊的 API 或工具包。
    2010-04-04
  • JSON.parse()方法轉(zhuǎn)換對象的示例以及注意事項

    JSON.parse()方法轉(zhuǎn)換對象的示例以及注意事項

    這篇文章主要介紹了JSON.parse()方法轉(zhuǎn)換對象的示例以及注意事項,我們可以使用 JSON.parse() 方法將數(shù)據(jù)轉(zhuǎn)換為 JavaScript 對象,需要的朋友可以參考下
    2023-05-05
  • json-lib出現(xiàn)There is a cycle in the hierarchy解決辦法

    json-lib出現(xiàn)There is a cycle in the hierarchy解決辦法

    如果需要解析的數(shù)據(jù)間存在級聯(lián)關(guān)系,而互相嵌套引用,在hibernate中極容易嵌套而拋出net.sf.json.JSONException: There is a cycle in the hierarchy異常。
    2010-02-02
  • Javascript生成json的函數(shù)代碼(可以用php的json_decode解碼)

    Javascript生成json的函數(shù)代碼(可以用php的json_decode解碼)

    這幾天迷上了JSON,連項目中一些XML的工作都交給了JSON,話說JSON真的比XML方便的多啊
    2012-06-06
  • 解讀JSON的三種格式

    解讀JSON的三種格式

    這篇文章主要介紹了解讀JSON的三種格式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • json簡單介紹

    json簡單介紹

    我們知道AJAX技術(shù)能夠使得每一次請求更加迅捷,對于每一次請求返回的不是整個頁面,也僅僅是所需要返回的數(shù)據(jù)。
    2008-06-06

最新評論