<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    李威 さぽている

    小說翻譯,日語相關(guān)轉(zhuǎn)移至http://blog.hjenglish.com/liwei

    2011年1月15日 #

    JSONP 跨域原理小解

    最近看一些代碼時(shí),邊看邊改代碼,發(fā)現(xiàn)getJSON這個(gè)方法沒法正常使用。

    1 var sURL= "http://api.xxxxxx.com/services/feeds/   
    2    xxxxxxx?format=json&callback=?";
    3 $.getJSON(sURL, function(data) {
    4 // do something with the JSON data returned
    5 }); // end get

    究其原因,發(fā)現(xiàn)url里有個(gè)callback,這里使用的是JSONP,一種跨域技術(shù)。
    網(wǎng)上搜了下JSONP,多數(shù)都是在講如何使用,而沒有說明為什么它能跨域,且沒有說明url服務(wù)器端的代碼時(shí)如何生成的。
    http://www.west-wind.com/weblog/posts/2007/Jul/04/JSONP-for-crosssite-Callbacks
    這方面,上面的文章里有比較詳細(xì)的描述。

     1 function jsonp(url,callback,name, query)
     2 {                
     3     if (url.indexOf("?"> -1)
     4         url += "&jsonp=" 
     5     else
     6         url += "?jsonp=" 
     7     url += name + "&";
     8     if (query)
     9         url += encodeURIComponent(query) + "&";   
    10     url += new Date().getTime().toString(); // prevent caching        
    11     
    12     var script = document.createElement("script");        
    13     script.setAttribute("src",url);
    14     script.setAttribute("type","text/javascript");                
    15     document.body.appendChild(script);
    16 }

    客戶端的javascript代碼會(huì)有如上的操作,代碼不難,很容易理解,也就是加了一個(gè)script標(biāo)簽。

    而服務(wù)器端會(huì)返回
    callbackFunction( { "x": 10, "y": 15} );
    這樣的數(shù)據(jù)。這其實(shí)是一段javascript代碼,
    callbackFunction是方法名,
    { "x": 10, "y": 15}是參數(shù)。客戶端代碼里必須要有
    callbackFunction方法的定義。

     1 public partial class JSONP : System.Web.UI.Page
     2 {
     3     protected void Page_Load(object sender, EventArgs e)
     4     {
     5         if (!string.IsNullOrEmpty(Request.QueryString["jsonp"]) )
     6             this.JsonPCallback();
     7     }
     8 
     9     public void JsonPCallback()
    10     {
    11         string Callback = Request.QueryString["jsonp"];
    12         if (!string.IsNullOrEmpty(Callback))
    13         {
    14             // *** Do whatever you need
    15             Response.Write(Callback + "( {\"x\":10 , \"y\":100} );");
    16         }
    17 
    18         Response.End();
    19     }
    20 }

    之后客戶端會(huì)調(diào)用callbackFunction
    使用JQuery的getJSON方法后,callback部分會(huì)變成如下形式。
    callback=jQuery1710461701650187642_1326201333794&_=1326201356534
    callbackFunction自然就是
    jQuery1710461701650187642_1326201333794部分了。
    返回來的數(shù)據(jù)也會(huì)是jQuery1710461701650187642_1326201333794( { "x": 10, "y": 15} ) 這種形式。

    最后JQuery會(huì)調(diào)用匿名函數(shù)
    function(data),data即為json數(shù)據(jù)。

    JQuery已經(jīng)將客戶端部分實(shí)現(xiàn)了,服務(wù)器端也得遵循同樣的規(guī)則才能實(shí)現(xiàn)跨域。


    *這里有一點(diǎn),JQuery如何將匿名函數(shù)換名字的?有哪位大俠知道的,請用簡單的語言講解下。

    posted @ 2012-01-10 21:30 李威 閱讀(353) | 評論 (0)編輯 收藏

    error code 0x80004005

    記錄一個(gè)小問題。
    在Win7系統(tǒng)上裝一個(gè)軟件時(shí)失敗,提示2個(gè)DLL沒有注冊成功。
    于是準(zhǔn)備手動(dòng)注冊。
    運(yùn)行
    cd C:\WINDOWS\system32\
    regsvr32 xxx.dll
    后出現(xiàn)如下錯(cuò)誤:
    The module "xxx.dll" was loaded but the call to DllRegisterServer failed with error code 0x80004005.

    網(wǎng)上搜索一番后,找到如下地址
    http://forums.cnet.com/7723-12546_102-237219.html
    其中有條說run as administrator,這是權(quán)限問題,不過我登陸的就是管理員賬號,應(yīng)該不存在這樣的問題。

    抱著姑且一試的想法,寫了個(gè)cmd文件,右鍵run as administrator后,居然真的注冊成功了!

    看來Win7系統(tǒng)真的很安全,就算是管理員,也得來個(gè)run as administrator后才能做一些事,是在向sudo學(xué)習(xí)么?

    posted @ 2011-12-06 21:13 李威 閱讀(369) | 評論 (0)編輯 收藏

    HTML5的audio標(biāo)簽很坑爹!

    最近試著用html5在頁面加載mp3文件。在chrome下測試通過了,偶然的用firefox4打開,居然沒法用……
    懷疑哪里寫錯(cuò)了,可audio標(biāo)簽也就幾個(gè)屬性而已。

    幾經(jīng)搜索,最后發(fā)現(xiàn)的真相讓我很崩潰……firefox的audio不支持播放mp3。

    Codec support in modern desktop browsers
    Browser Ogg Vorbis MP3 WAV
    FireFox 3.6+ ?
    ?
    Safari 5+
    ? ?
    Chrome 6 ? ?
    Opera 10.5+ ?
    ?
    Internet Explorer 9 (beta)
    ? ?
    出自 http://html5doctor.com/native-audio-in-the-browser/

    看了這個(gè)表之后,雖然很多瀏覽器都支持html5,但如果你想播放一個(gè)文件,任何一種格式都不能讓所有瀏覽器正常播放。
    哈哈哈,html5定義了媒體標(biāo)簽,但沒規(guī)定媒體的默認(rèn)編碼格式,導(dǎo)致各瀏覽器各自為政。
    真是不方便……

    posted @ 2011-06-11 22:30 李威 閱讀(278) | 評論 (0)編輯 收藏

    PHP GD畫圖時(shí)出現(xiàn)的文字亂碼問題

    GD畫圖時(shí)通常顯示文字是用imagettftext方法,但它的參數(shù)必須是UTF-8編碼的。
    此時(shí)得注意php文件的編碼
    1.如果是UTF-8的,直接傳硬編碼字符串就可正常顯示
    2.如果是gb2312或其它的,則必須進(jìn)行轉(zhuǎn)換 mb_convert_encoding($str, 'UTF-8')

    另外,還有一種情況,JIS-mapped Japanese Font Support被開啟時(shí),imagettftext就必須傳SJIS編碼,傳UTF-8反而會(huì)亂碼。
    此時(shí)必須將其轉(zhuǎn)碼后傳入,mb_convert_encoding($sStr,"SJIS", "UTF-8")。

    以上。

    posted @ 2011-03-31 15:46 李威 閱讀(1060) | 評論 (0)編輯 收藏

    TurboC3.0英文版中界面邊框?yàn)閬y碼問題的解決發(fā)法

    在次提供TurboC3.0英文版下載。

    TCPP.rar
    上網(wǎng)須謹(jǐn)慎,下載請殺毒。

    TC3.0窗口模式,邊框有中文亂碼。全屏就沒有。
    原因是當(dāng)前的code page是中文的936,可以在cmd中用chcp命令查看。
    利用命令 chcp 437 改為老美的,就可以了。
    具體操作
    啟動(dòng)TCPP.exe->File->DOS Shell->chcp 437->exit
    回到TCPP后就沒亂碼了。
    但這個(gè)方法治標(biāo)不治本,每次啟動(dòng)TCPP仍是亂碼。

    另一種方法
    在TCPP窗口的左上角單擊,出現(xiàn)菜單(包含最大化,最小化,屬性等),在默認(rèn)選項(xiàng)的第一個(gè)頁面“選項(xiàng)”里Default code page選擇437 (OEM United Status)。因?yàn)槲夷壳笆褂玫氖怯⑽南到y(tǒng),不知道中文系統(tǒng)中是否有該項(xiàng)。如果沒有該項(xiàng),請自行尋找方法讓它有。
    之后,一切OK,至少我OK了……

    posted @ 2011-01-26 19:26 李威 閱讀(716) | 評論 (0)編輯 收藏

    運(yùn)行李

    中鐵快運(yùn) 跨省 4.3元/KG
    一般3天到,但有時(shí)貨運(yùn)量大,無法確定到貨時(shí)間
    上午10:30電話過去,說下午2點(diǎn)后才能來取貨,我說下午不在,比較緊急,實(shí)際上取貨師傅11點(diǎn)多就到了
    來取貨的人有2人,開的是面包車,能一次運(yùn)走較多貨物
    貨物較散時(shí)會(huì)收15元包裝費(fèi)。
    一般人不支持貨到付款,只有大客戶才支持。
    先交費(fèi),多退少補(bǔ)(一般會(huì)多收),發(fā)票不當(dāng)場發(fā),之后會(huì)聯(lián)系你或郵寄給送貨地址(具體不詳)。
    我是當(dāng)天要離開,沒法將發(fā)票給我,他們說會(huì)將發(fā)票和多的錢放到包裝的貨物里。


    順豐快遞 跨省 1KG內(nèi)20元,超過部分12元/KG
    到貨很快,合肥到杭州一天內(nèi)能送到。
    來取貨的只有1人,開電動(dòng)車,貨物較多時(shí)無法一次取完。
    支持貨到付款,無包裝費(fèi)。
    客服說1小時(shí)內(nèi)到,通常半小時(shí)左右會(huì)有取貨人來電話聯(lián)系,之后看情況,有時(shí)候半小時(shí)能到,有時(shí)候很拖。

    posted @ 2011-01-15 11:31 李威 閱讀(149) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 边摸边吃奶边做爽免费视频网站 | 国产V亚洲V天堂A无码| 四虎永久在线精品免费观看视频| 国产人成免费视频网站| 久久久久亚洲AV成人无码网站 | 免费涩涩在线视频网| 2017亚洲男人天堂一| 日本亚洲免费无线码| 亚洲不卡1卡2卡三卡2021麻豆| 美女18一级毛片免费看| 免费一级毛片女人图片| 亚洲人成电影在在线观看网色| 国产真人无码作爱视频免费| 成人a视频片在线观看免费| 亚洲熟妇无码另类久久久| 三级网站免费观看| 亚洲国产综合专区在线电影| 99xxoo视频在线永久免费观看| 亚洲白色白色永久观看| 成年在线网站免费观看无广告| 亚洲AV成人精品一区二区三区| 免费A级毛片无码专区| 亚洲韩国在线一卡二卡| 永久免费av无码网站韩国毛片| 亚洲精品无码专区| 亚洲成A∨人片天堂网无码| 亚洲综合久久精品无码色欲| 国产高清在线精品免费软件| 亚洲人成在线精品| 免费毛片在线播放| 久久久免费观成人影院| 亚洲黄色三级视频| 日本久久久免费高清| 亚洲精品精华液一区二区| 亚洲国产黄在线观看| 亚洲国产精品免费视频| 亚洲AⅤ男人的天堂在线观看| 伊人久久精品亚洲午夜| 老妇激情毛片免费| 亚洲视频在线观看一区| 国产精品免费电影|