[問題] 同時存取多個JSONP時的先後判斷
各位好,我第一次實做JSONP。
大抵就是將之理解為XSS,甚至可以跟JSON無關。
目前的困境是,我會在短時間(連續執行)加入兩個<script src />
但是其執行結果卻不是依序執行,而是看誰先下載完就先執行
(參考http://goo.gl/tZPXe :
When inserting a script dynamically, the non-blocking download begins
immediately. The script executes as soon as it is downloaded completely.
In most browsers, the order of execution is not guaranteed
)
但我就是要區分這兩者,故來此詢問應怎麼做才好..
舉例而言,我會同時在DOM中插入:
<script src="/id/NTHU?callback=show"></script>
<script src="/id/NCTU?callback=show"></script>
然後依序應該會回傳
show && show({"nick":"114"});
show && show({"nick":"113"});
問題是:我要怎麼區分113是NTHU還是NCTU?
目前已知如果能動server端的話,可以在JSON中多插入一個key-value pair
比方說回傳:
show && show({"nick":"114", "request":"/id/NTHU?callback=show"});
也就是把網址(或其他可辨識的資訊)原封不動的傳回來
但偏偏server端不是我控制,所以算是不能用
另一個想到的方式就是自己寫個client端的queue
如果有同時插入多個JSONP需求
那仍然一次只新增一個<script src />,剩下的就排進queue裡,
而callback function則會再把下一個<script src />加進DOM
但這樣如果有四、五個以上的需求,或是server回傳需要一秒以上的話就會等很久..
請問大大們都使用甚麼樣的機制解決這個困境呢?
--
╭ ╭ ╭ ╭╮╭╮http://kong0107.blogspot.com/
│ Υ ╪ ╭─╮ ╭─╮ ╪ ││││ ╮ ╮ ╭── Υ ╭─╮
│ │ │ ╞═╛ │ │ │ │╰╯│ │ │ ╰─╮ │ │
╰─╯ ╧ ╯ └─╯ ╘═╛ ╯ ╯' '╰ ╰─╯ ──╯ ╧ └─╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.114.216.61
推
07/14 23:28, , 1F
07/14 23:28, 1F
→
07/14 23:46, , 2F
07/14 23:46, 2F
→
07/16 23:08, , 3F
07/16 23:08, 3F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章