一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - json跨域調用python的方法詳解

json跨域調用python的方法詳解

2020-09-17 13:57ORACLE800 Python

這篇文章主要介紹了json跨域調用python的方法,結合實例形式分析了基于ajax的json調用及Python后臺處理技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了json跨域調用python的方法。分享給大家供大家參考,具體如下:

客戶端:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>jQuery-跨域請求</title>
  <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
  <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
  </head>
   <script type="text/javascript">
  jQuery(document).ready(function(){
    $.ajax({
      type : "GET",
      url : "http://10.13.38.43:1234/?id=10&callback=?",
      dataType : "jsonp",
      jsonp: 'callback',
      success : function(json){
          alert(json.account);
        //$('#msg_box').html(json);
        //return true;
      }
    });
  });
  </script>
   <body>
  <div id="msg_box"></div>
  </body>
  </html>

服務端

?
1
2
3
4
5
6
7
8
9
10
11
import web
urls=('/','Index',)
class Index:
    def GET(self):
      inputdata=web.input()
      mycallbackfun=inputdata.callback
      #return 'hello' +inputdata.id
      return mycallbackfun+'({"account":"XX","passed":"true","error":"null"})'
app = web.application(urls, globals())
if __name__=='__main__':
    app.run()

附:jquery跨域請求方法簡介

這里介紹jQuery跨域請求方法,并提供簡單的示例代碼供參考。

項目中關于ajax jsonp的使用,出現了問題:可以成功獲得請求結果,但沒有執行success方法,總算搞定了,記錄一下。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function TestAjax()
{
  $.ajax({
    type : "get",
    async : false,
    url : "ajaxHandler.ashx", //實際上訪問時產生的地址為: ajax.ashx?callbackfun=jsonpCallback&id=10
    data : {id : 10},
    cache : false, //默認值true
    dataType : "jsonp",
    jsonp: "callbackfun",//傳遞給請求處理程序或頁面的,用以獲得jsonp回調函數名的參數名(默認為:callback)
    jsonpCallback:"jsonpCallback",
      //自定義的jsonp回調函數名稱,默認為jQuery自動生成的隨機函數名
      //如果這里自定了jsonp的回調函數,則success函數則不起作用;否則success將起作用
    success : function(json){
      alert(json.message);
    },
    error:function(){
      alert("erroe");
    }
  });
}
function jsonpCallback(data) //回調函數
{
  alert(data.message); //
}
public class ajaxHandler : IHttpHandler
{
  public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = "text/plain";
    string callbackfun = context.Request["callbackfun"];
    context.Response.Write(callbackfun + "({name:\"John\", message:\"hello John\"})");
    context.Response.End();
  }
  public bool IsReusable {get {return false;}
}

ajax請求參數說明:

dataType string 服務器返回的數據類型。
如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息來智能判斷,比如XML MIME類型就被識別為XML。

可用值:

"xml": 返回 XML 文檔,可用 jQuery 處理。
"html": 返回純文本 HTML 信息;包含的script標簽會在插入dom時執行。
"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。除非設置了"cache"參數。

注意:在遠程請求時(不在同一個域下),所有POST請求都將轉為GET請求。(因為將使用DOM的script標簽來加載)

"json": 返回 JSON 數據 。
"text": 返回純文本字符串
"jsonp":jsonp格式。使用jsonp形式調用函數時,訪問url時會自動將url后面添加上如"callback=callbackFunName" 以執行回調函數(callbackFunName)。

jsonp string

在一個jsonp請求中重寫回調函數的名字。這個值用來替代在"callback=?"這種get或post請求中url參數里的"callback"部分,比如 jsonp:'callbackfun' 則將會生成"callbackfun=?"傳給服務器。

jsonpCallback String 此參數為jsonp請求指定一個回調函數名。

這個值將用來取代jQuery自動生成的隨機函數名。 即上面"callback=?"中的問號部分。

這主要用來讓jQuery生成度獨特的函數名,這樣請求更容易,也能方便地提供回調函數和錯誤處理。

也可以在想讓瀏覽器緩存GET請求的時候,指定這個回調函數名。

ajax jsonp與普通的ajax請求的主要區別在于——請求響應結果的處理。如上面代碼所示的響應結果為:

?
1
jsonpCallback({ name:"world",message:"hello world"});

實際上就是調用jsonp回調函數jsonpCallback,并將要響應的字符串或json傳入此方法,關于自定了jsonp的回調函數, success函數則不起作用,大概其底層的實現(當然這是默認的回調函數的時候,否則就不會執行success的方法吧):

?
1
2
3
4
function default_jsonpCallback(data)
{
  success(data); //在默認的回調方法中執行
}

希望本文所述對大家Python程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 东方影视欧美天天影院 | 性xxxxⅹhd成人 | 欧美国产精品 | 日本免费观看的视频在线 | 欧美一区二区三区高清不卡tv | 丝袜老师好湿好紧我要进去了 | 短篇艳妇系列 | 天天综合网网欲色 | 日韩日韩日韩手机看片自拍 | 91麻豆精品国产91久久久 | 98pao强力打造高清免费 | 亚洲女人国产香蕉久久精品 | 欧美日本一区视频免费 | gayrb漫画免费入口 | 日韩一区二区三区不卡视频 | 8x8x丝袜美女 | 天天排行网 | 精品操| 日本免费一区二区三区a区 日本免费三片在线观看 | 6969精品视频在线观看 | 精品日本三级在线观看视频 | 四虎 2022 永久网站 | 超碰成人在线播放 | 国产在线观看精品香蕉v区 国产在线观看a | 我的美女奴隶 | 朝鲜女人free性xxe | 国产毛片一级aaaaa片 | 含羞草国产亚洲精品岁国产精品 | 91久久精品国产亚洲 | 国产天天在线 | 九九艹 | 免费一级特黄特色大片在线 | s0e一923春菜花在线播放 | 青苹果乐园影院免费观看完整版 | 清纯漂亮女友初尝性过程 | 爱操综合网 | 成 人 免费 小说在线观看 | 免费黄色网站视频 | 毛片一区二区三区提莫影院 | 免费真实播放国产乱子伦 | 人与善交大片免费看 |