jQuery JSONP 實踐

來源:互聯網
上載者:User

一直對jQuery 的jsonp 調用比較疑惑,今天研究了一下jsonp 做了一個簡單的調用例子,我用asp做服務端s

用戶端(url:http://192.168.1.2:81/jsonp_test.asp)

用戶端頁面首先在body 中放置一個div: <div id="res"></div> 將遠程調用的資料寫入該div中

Code
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $.ajax({
             url:'http://192.168.9.5/jsonp_proc.asp',
             dataType:"jsonp",
             jsonp:"jsonpcallback",
             success:function(data){
                 var $ul = $("<ul></ul>");
                 $.each(data,function(i,v){
                     $("<li/>").text(v["id"] + " " + v["name"]).appendTo($ul)
                 });
                 $("#res").append($ul);
             }
        });
    });
</script>

 

服務端(url:http://192.168.1.5/jsonp_proc.asp)
代碼很簡單,就是輸出一個字串
比如正常輸出json應該是:[{"id":"1","name":"測試1"},{"id":"2","name":"測試2"}]
jsonp 則輸出: jsonpcallback([{"id":"1","name":"測試1"},{"id":"2","name":"測試2"}]) 其中“jsonpcallback”是用戶端傳過來的

Code
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
  jsonp = request("jsonpcallback")
  str = "[{""id"":""1"",""name"":""測試1""},{""id"":""2"",""name"":""測試2""}]"
  str = jsonp & "(" & str&")"
  response.Write(str)
%>

由於 jquery 在ajax 處理中使用的是utf-8編碼傳遞參數的,所以jsonp處理端用utf-8的編碼最好,這樣省得編碼轉換了

最終效果:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.