標籤:http io java ar 資料 art sp cti 代碼
一.js Ajax跨域:
1. 通過添加<script>標籤請求跨域的資料
2. 通過回調方法擷取符合js文法的資料
程式碼範例:
- <script type="text/javascript">
- //添加<script>標籤的方法
- function addScriptTag(src){
- var script = document.createElement(‘script‘);
- script.setAttribute("type","text/javascript");
- script.src = src;
- document.body.appendChild(script);
- }
-
- window.onload = function(){
- //搜尋apple,將自訂的回呼函數名result傳入callback參數中
- addScriptTag("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=apple&callback=result");
-
- }
- //自訂的回呼函數result
- function result(data) {
- //我們就簡單的擷取apple搜尋結果的第一條記錄中url資料
- alert(data.responseData.results[0].unescapedUrl);
- }
- </script>
二.jquery架構 Ajax跨域:
1.指定datatype為jsonp,否則無法跨域
2.在回調方法success擷取響應資料
- $.ajax({
- dataType: "jsonp",//跨域訪問 dataType 必須是jsonp 類型。
- url: request,
- type:"GET",
- jsonp:"callbackparam",
- jsonpCallback:"success",
- success: function(response) {
- $("#shortUrl").html("短地址為:"+response[0].url_short);
- },
- error: function(XMLHttpRequest, textStatus, errorThrown) {
- alert("status"+XMLHttpRequest.status);
- alert("readyState"+XMLHttpRequest.readyState);
- alert("textstatus"+textStatus);
- alert(errorThrown);
- }
- });
ajax跨域訪問