2013-08-16 61 views
0

我正在使用jQuery的ajax後張數據從表單到外部CRM。有一個ASP.net,後面有一個C#代碼來處理外部URL。JQuery AJAX後移動設備上的凍結/超時

我已經使用這種方法完成了AJAX帖子,並且從未遇到過這個問題。它可以在所有桌面瀏覽器上正常工作,但它會在iPad/iPhone上凍結,並在Android設備上停止運行。

這裏是爲後的代碼:

function mfSubmit(event) { 
    event.preventDefault(); 
    if (mfValidateForm4() == true) { 
    $('a#aAction').hide(); 
     $('#mfLoader').show(); 
     var campaignID = "18"; 
     if ($("#campID").val() != undefined) { 
      campaignID = $("#campID").val(); 
     } 
     var referID = function() { 
      var myNumber = "1"; 
      myNumber = 70000000 + Math.floor(Math.random() * 70000000); 
      return myNumber; 
     }; 

     //alert("Campaign: " + campaignID); 

     $.ajax({ 
      type: "POST", 
      url: "/PostHelper.ashx?target=externalURL" + campaignID, 
      data: { 
       FirstName: firstname, 
       LastName: lastname, 
       Email: email, 
       Phone: phone, 
       PropertyZipcode: zip, 
       PropertyState: state, 
       CurrentCity: city, 
       EstimatedHomeValue: estimatedValue, 
       LoanAmount: loanAmount, 
       TransactionType: loanPurpose, 
       CreditRating: creditScore, 
       ReferId: referID 
      }, 
      success: function (msg) { 
       //alert('SUCCESS'); 
       var newURL = document.location.href; 
       newURL = newURL.replace('#slide-5', '#slide-6'); 
       document.location.href = newURL; 
      }, 
      error: function (msg) { 
       console.log(msg); 
       //alert('ERROR'); 
      }, 
      datatype: 'text' 
     }); 
    } 
    return false; 

} 

mfSubmit功能正在從一個的「onClick」該傳遞事件調用。 externalURL只是一個佔位符。此外,服務器的響應僅爲文本格式的「成功」。

這是在所有桌面瀏覽器上工作,但會一直凍結在Apple移動設備上,而只是在Android上超時。

任何意見或幫助,不勝感激。

回答

0

原來,這是ajax函數的data屬性中使用的未聲明的變量。

雖然聲明它確實解決了這個問題,但我覺得很奇怪,這不會導致基於桌面的瀏覽器出現任何問題。

因爲除了移動設備以外,我的工作很好,所以我幾乎已經排除了這種情況。

生活和學習