IE8版本以下瀏覽器絕對是一個神奇的存在,忙碌好久,萬事具備,居然在ajax調用接口的時候直接爆炸
陳述一下問題
首先是有這樣一個接口,請求類型POST,入參JSON,出參JSON,jQuery ajax調用代碼如下:
chrome完美運行,但是當我們把同樣的代碼移植到IE8,IE的控制台是這么告訴我的
好吧,又是頭疼的跨域問題,OK,既然這樣,我們還是用jsonp來解決,但是jsonp的交互方式必須讓我們去修改接口類型,OK,先把POST改成GET其他不變,我們換成jsonp再來調用,ajax調用代碼如下:
IE控制台又這么告訴我,哦呵
很明顯接口中返回值沒有接收,查了下資料,原來是跨域需要用回調函數對返回結果進行包裝,即對返回的json字符串以函數回調方式返回,下面是我們最后接口返回的字符串
callback({"status":"0","message":"ok"})