1347
|
1 from browser import window |
|
2 |
|
3 """Q&D module to do ajax requests with data types currently unsupported by Brython""" |
|
4 # FIXME: remove this module when official aio module allows to work with blobs |
|
5 |
|
6 window.eval(""" |
|
7 var _tmp_ajax = function(method, url, format, data){ |
|
8 return new Promise(function(resolve, reject){ |
|
9 var xhr = new XMLHttpRequest() |
|
10 xhr.open(method, url, true) |
|
11 xhr.responseType = format |
|
12 xhr.onreadystatechange = function(){ |
|
13 if(this.readyState == 4){ |
|
14 resolve(this) |
|
15 } |
|
16 } |
|
17 if(data){ |
|
18 xhr.send(data) |
|
19 }else{ |
|
20 xhr.send() |
|
21 } |
|
22 }) |
|
23 } |
|
24 """) |
|
25 |
|
26 ajax = window._tmp_ajax |