1. 程式人生 > >微信公眾平臺開發——為何不能在網頁調用微信jsapi?

微信公眾平臺開發——為何不能在網頁調用微信jsapi?

什麽 ket 平臺 使用 scrip ken 進行 兩個 pro

說到這問題,相信大部分程序員老手都會輕蔑一笑,當然是跨域導致的啊!但是為了一些小白,我覺得還是很有必要再說一次的。

首先介紹什麽是跨域,由於瀏覽器的同源策略,出於防範跨站腳本的攻擊,禁止客戶端腳本( 主要是JavaScript)對不同域名的服務器接口進行跨站調用。一般,只要網站的 協議名protocol(HTTP、ftp等)主機host端口號port 這三個中的任意一個不同,網站間的數據請求與傳輸便構成了跨域。

既然是說公眾號開發的事,要想在前端調用jssdk,先要通過config接口註入權限驗證配置。也就是先要獲取wx.config 中參數的值。由於其中的參數值需要通過access_token和jsapi_ticket這兩個參數來運算得到,而這兩個參數需要請求微信接口才能獲取,微信接口域名跟我們的網頁明顯不在同一域名下,所以造成跨域,從而導致我們無法在前端獲取配置的參數。因此我們只能通過服務器用服務器端語言php pava c#等進行相關微信接口的請求。

另外,也有人非得用前端去請求,比如我,通過JSONP形式去請求數據,首先:JSONP這種非官方協議是需要後臺配合寫返回數據的,也就是返回回調函數,微信不可能做這個,數據不安全。

總而言之,言而總之,微信就是要讓你在後臺使用服務端語言請求接口!!也為了安全!

微信公眾平臺開發——為何不能在網頁調用微信jsapi?