2013-05-14 53 views
0

在爲iOS和Android開發PhoneGap應用程序時,我發現了一個奇怪的行爲。通過2G和3G上傳文件到我的服務器更快。PhoneGap上的Ajax請求在2G和3G上更快

這是一個265 KB的文件的區別是:在我的iPhone

  • 2G: 0m 32s
  • 3G: 7m 21s

當然我也運行一些SPEEDTEST(與speedtest.net應用程序):

  • 2G: down: ~4 kB/s; up: ~2 kB/s
  • 3G: down: ~280 kB/s; up: ~110 kB/s

這是我在PhoneGap的應用程序代碼:

// base64 encoded image of 265kb 
var base64img = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQA..."; 

$.ajax({ 
    type: 'POST', 
    url: 'http://my.server.nl', 
    data: {img: encodeURIComponent(base64img)}, 
    dataType: "json", 
    contentType: "application/x-www-form-urlencoded;charset=UTF-8" 
}).done(function(result){ 
    console.log('done: ' + result); 
}).fail(function(result){ 
    console.log('fail: ' + result); 
}); 

哪位天才能告訴我爲什麼發生這種情況?

+0

這對你的2G卡真的有用嗎? – 2013-05-14 09:15:26

+0

你是什麼意思?我在荷蘭使用(荷蘭語)沃達豐卡。 – harianus 2013-05-14 09:18:48

+0

我剛剛讀過的地方,如果你在3克,他們有一個1mb /分鐘的最大DI/UL?我不知道如何解決它,但我看到這裏http://stackoverflow.com/questions/1988375/max-payload-size-for-http-request-and-response-iphone/1988388#1988388 – 2013-05-14 09:41:14

回答

2

我們終於解決了通過'慢'3G上傳東西的問題。

問題真的不一樣。我們使用沃達豐作爲移動運營商,但我們嘗試了另一個運營商(* bliep),它運行良好。所以沃達豐是問題所在。我們發現沃達豐正在修改標題。它將Connection: close更改爲Connection: Keep-Alive

現在我們使用SSL(HTTPS)連接,所以沃達豐不能更改任何標題。更改爲SSL後,我們沒有遇到任何問題。