簡體   English   中英

將大數據發送到服務器,跨域

[英]Sending big data to server, Cross-Domain

我正在嘗試從我的應用所在的許多不同服務器上發送大量數據,以進行挖掘。
使用一些虛擬圖像源,將我的數據作為GET查詢傳遞。 img.gif?aaa = xxx&bb = yyy ...
該查詢很多次都太長而被剪切。

我有什么更好的方法可以跨瀏覽器發送數據嗎?

如果在發送數據時使用POST方法,那將是最好的。

 var msgSender = new ActiveXObject("Microsoft.XMLHTTP"); 
 msgSender.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 msgSender.setRequestHeader("Encoding", "Windows-1257")     
 msgSender.open("POST", "http://yourderver/page" ,true);
 msgSender.onreadystatechange = function(){...};
 var msg = "your very long message goes here";

 //preparing post data
 var strToSend = "someotherarg=somevalue" + username;
     strToSend+= "&msg=" + msg;
 strToSend = escape(strToSend);
 msgSender.send(strToSend);

如果使用jQuery,則解決方案甚至更簡單-只需調用$.post()方法即可: http : //docs.jquery.com/Ajax/jQuery.post

編輯:但是,這將無法跨域工作,除非您在服務器上指定“ Access-Control”標頭,並且客戶端具有現代的enouhg瀏覽器(FireFox 3.5+等)

因此,另一種解決方案是在頁面中包含一個隱藏的IFRAME(然后該頁面位於您的服務器上),其中包含一個表單,然后調用該表單的Submit()來發布數據。

拆分您的有效負載(例如,以1024字節為單位),然后使用多個GET請求進行發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM