原來js可以這樣用。類似51la.cnzz統計的js接口

自己工作的時候遇到的一個要求,發現原來js和php結合竟然可以如此的強大。

張存超php技術博客


今天接到了一個任務,我們有個門戶的網站,裏面有好幾個地區的醫院,老闆要讓不同地區的人訪問的時候,彈窗他們本地的商務通,我一開始想,這還不簡單嗎,不就是找個獲取ip歸屬地的接口,然後獲得返回值判斷一下,然後再根據返回值調用不同的商務通不就ok了嗎,實際上缺不然,因爲我們門戶的站都是生成的靜態頁面,不能夠執行php。而獲取訪客的ip一定要用php的。所以我就糾結了。所以我就想,用js能不能調用php呢。所以我就做了個實驗,從靜態頁面,<script language=’javascript’ type=’text/javascript’ src=’1.php’></script>來調用php頁面。但是這樣訪問這個靜態頁面如何知道之執行了1.php呢,那就在1.php中寫一個創建文件的操作。mkdir(‘aa’);然後訪問靜態文件。發現果然創建了aa這個文件夾。說明可以實現。

那麼下面的問題就只剩下一個了,如何將1.php獲取ip。並通過接口獲得歸屬地後判斷取得的對應的商務通返回給靜態頁面。這個地方是最糾結的。不過,我覺得一定也是有人遇到過這種情況。我們這樣想,js src鏈接了php文件,那麼php裏面所echo的東西就相當於js文件裏的東西,但是區別是他沒有js文件的屬性,不能單純的看做js文件的。所以我們在靜態文件再定義個js函數。<script>ok();</script>。在2.php。我們echo ”function ok(){document.write(‘dddddddddddddd’)}”;。訪問發現在靜態文件出現了dddddddddddddd。這說明我們的原理行得通的。所以我們只需要將這裏的dddddddddddd換成判斷後得到的商務通就ok了。哈哈。這樣問題就解決了。

關於獲取ip歸屬地的接口,可以在這裏下載。訪問裏面的ip.php。給他相應的參數,就可以獲得相應的返回值,對了,有人還問頁面中如何打開一個url。可以用file_get_contents試一下。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章