Category Archives: Experience Share / 經驗分享

Online cURL Proxy / API – bypass Origin file: not found in Access-Control-Allow-Origin header issue

很多時候找到一些有趣的API
我們可以直接把這個APIURLQuery String放在browser上而取得Data
但當我們使用Javascript E.G. JQuery $.get 時便會出現以下的錯誤信息
Origin file: not found in Access-Control-Allow-Origin header

XMLHttpRequest: Network Error 0x80700013, Could not complete the operation due to error 80700013.”
Origin file: not found in Access-control-Allow-Origin header.

解決方法
我們可以用cURL 來解決這個問題..
由於我久不久便有這個問題出現..
所以便用nodeJS 來起了一個功能和大家分享.
http://sharechiwainodeexpress.herokuapp.com/curl?url={URL-to-CURL}

E.g.
http://sharechiwainodeexpress.herokuapp.com/curl?url=http://blog.sharechiwai.com

可以用他當作proxy 吧

Hope you find it useful

AppHarbor – Free hosting for ASP.Net/ ASP.Net MVC – 免費ASP.Net/ ASP.Net MVC寄存服務

今天想和大家介紹一個Cloud Service /雲端服務
他們可以幫你免費Host你的 ASP.Net/ ASP.Net MVC 網頁
AppHarbor
https://appharbor.com/
大家可以使用他們的服務來
他的好處是大家可以使用Git把Source Code commitAppHarbor上..
AppHarbor 的Build Server 會Compile 你的程式碼..
之後Deploy 到特定網址 [xxx.apphb.com]
我的網圵是 http://sharechiwai.apphb.com..
主要是用來測試程式碼…
和用來 Host 我的 ASP.Net MVC Website / 和測試其他新東西 [因為自己可以不用安裝 =)] 和這個Blog 相關的Demo..

除了支援.Net 之外..
他們還有很多Add-on 可以給大家使用..
E.G.
AppHarbor Add-on
使用basic 的服務是免費的
大家亦都可以把你們的Source Code 從 Bitbucket / GitCodePlex 上 發佈到 Appharbor
如果想有自定的URL/ SSL和其他東西..那便要付費了
AppHarbor Pricing

Hope you find it useful.

Disable Java Update Available issue – 解決Java 更新通知的信息

最近有朋友說電腦久不久便會出現 “Java Update Available” 的Popup
Java Update Available
感到十分麻煩..

這是因為電腦上設定了”自動檢查更新”的關係

解決方法:
開啟Java 這個程式的”內容
在可以 Task Bar上的Java icon 上按右鍵..選擇”Properties/內容
Java Update icon on Task Bar

或者可以在”Control Panel/控制台” 上或出”Java“程式的Icon 按一下
Control Panel Item - Java
在”Java Control Panel/Java 程式控制台” 上選擇 “Update/更新“分頁
取消劃勾 Untick”Check for Updates Automatically/自動檢查更新” 這個方塊/Checkbox
Java Control Panel - Check for Updates Automatially
之後會出現一個彈出信息/Popup Message 說
You have chosen to never check for updates and may miss future security updates“/”你選擇了從不檢查更新,並可能錯過未來的安全更新
You have chosen to never check for updates and may miss future security updates
之後大家可以選擇”Check Monthly/每月檢查” 或 “Never Check/永不檢查

選擇了”Never Check/永不檢查” 電腦上便不會再久不久彈出一些叫你更新Java的信息了

當然如果大家是會更用Java的話..
可以久不久自行檢查有沒有新的更新

大家可以在”Update tab/更新分頁“上按 “Update Now/馬上更新
便可以開始更新了

Hope you find it useful

Problem loading other web portal in iframe – could not retain session information

今天有客人打電話來說他們的用戶不能登入我們的Web Portal..
看了一看… 用Google ChromeFireFox都沒有問題..
在IE 上便可以Replicate問題了

到最後終於找到了解決方法了…
就是要更改以下的 IE Settings.

解決方法:
在IE 的Tool bar 選擇 “Internet Options

之後按一下”Security” Tab, 之後選擇 “Trusted Site” -> 再按一下”Site” 按鈕
E.G. 選擇 “Tools” -> “Internet Options” ->”Security” Tab ->”Trusted Site” ->”Site” 按鈕

之後輸入你使用的網址..之後按”Add” 把網址加入到”Trusted Site“-> 之後”Close“關閉這個Page

按一下”Custom Level” 去更變一些設定
在”Security Settings – Trusted Sites Zone” 中找出
在”Security Settings – Trusted Sites Zone” 中找出
Miscellaneous“->”Access data sources across domains” section
之後選擇 “Enable”
按 “OK” 便可…
IE -> Security Settings -> Access data sources across domains

Hope you find it useful

XMLHttpRequest cannot load – Origin is not allowed by Access-Control-Allow-Origin.

今天在一個主題是使用主辦單位的APIHack Event上 出現了一個趣事…
就是其中一個API 出現了很多的問題…
相信他們是沒有真正的測試過便開放了這一個Beta給開發人員使用..
其中一個問題是他們提供的SandBox URL 不是正確的
另一個問題是使用者/開發者的帳戶…和API Key 很像沒有和SandBox 連結在一起..
當使用使用者/開發者的帳 的API Key 時不能使用這個API…
最後..我只可以使用Sample Code上的URL…

誰不知..當我準備好..了解他的FunctionData Structure時…
正開始開發時..又出現一個很嚴重的問題
就是當我當試使用JQuery$.getJSON 功能來 取資料時…
頁面沒有顯示任何資料..
當我使用Google ChromeDebugging Console 看看有沒有任何錯誤信息時
發現以下的錯誤資訊
XMLHttpRequest cannot load http://api.europeandirectories.com/search.json?country=NL&what=pizza&where=Amsterdam&userid=portaluser&apikey=8f989d50f277c5ec3b9e890d497be820. Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin.

error:  Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin.

聽說這是一個和Cross-domain 想關的的問題…
API 的Provider 需要在他們的Server/Service上更改一些設定來解決這個問題

另一個解決方法是使用JSONP
但是如果API 是沒有Implement JSONP的時候..你便沒有辦法了…

很可惜這個API 真是在一個很Beta的 Stage…所以還是沒有JSONP 的…

幸好最後有一個負責這個 API的開發人員 介紹了一個
暫時的解決方法:
就是啟動 Google Chrome時 停用他的網路安全 設定

大家可以按”開始/Start” -> “執行/Run
之後輸入以下文字
chrome.exe –disable-web-security
run command chrome.exe --disable-web-security to bypass Origin is not allowed by Access-Control-Allow-Origin
之後按”確定/OK

當我再次嘗試這個Test Page時 便可以顯示資料了

Hope you find it useful.