之前一片日志說使用xmlhttprequest獲取服務(wù)數(shù)據(jù)時,在IE下能通過而在chrome不能通過的問題,今天終于有了一個答案,這就是所謂的跨域問題,什么是跨域呢?我還說不清楚,我說說比較不規(guī)范但是通俗的說說法吧,比如你使用chrome打開一個本地的html頁面,那么我認為現(xiàn)在你的機器就是一個站點,這個html就是運行在這個站點上,如果你要在這個html頁面中通過xmlhttprequest獲取百度的頁面源碼信息,就有點跨域的意思,這和你直接在地址欄上輸入www.baidu.com又不一樣,因為那樣的話,你當前的站點就是百度了,如果百度也在他的主頁上通過xmlhttprequest獲取google的頁面信息,那樣應(yīng)該也算是跨域了吧,但是這個跨域問題在服務(wù)器上是不存在的,你在服務(wù)器上使用urlHttpConnection連接其他站點是允許的。 可以想象,你連接到你自己的服務(wù)器,打開一個頁面,如果這個頁面要獲取google的數(shù)據(jù),那么這個頁面可以向服務(wù)器發(fā)出請求(這個頁面和這個服務(wù)器是同一個域,我通俗的理解,所以這個請求沒問題),服務(wù)器根據(jù)請求向google獲取數(shù)據(jù)(這個是允許的),然后服務(wù)器再將獲取到的數(shù)據(jù)反饋回頁面,這樣頁面就獲取到google的數(shù)據(jù)了。 具體代碼怎么寫就不在話下啦! 所以,上一篇遇到的問題就是這樣子,最后我是通過服務(wù)器來解決這個問題,但至于為什么IE8可以允許我跨域訪問我就不清楚了! |
|