2016-01-27 44 views
-2

他guyz,

我很困惑,因爲我的表單值發生了什麼。

起初我創建了一個簡單的html表單,其中我將這些值轉換爲一個字符串。以下是我的文檔中的代碼的一部分。已準備好

var fbid = $("#fbid").val(); 
    var name = $("#name").val(); 
    var address1 = $("#address1").val(); 
    var address2 = $("#address2").val(); 
    var city = $("#city").val(); 
    var postal = $("#postal").val(); 
    var countries = $("#countries").val(); 
    var dataString = 'fbid=' + fbid + '&name=' + name + '&address1=' + address1 + '&address2=' + address2 + '&city=' + city + '&postal=' + postal + '&countries=' + countries 

到目前爲止好。然後我用下面的代碼來此上傳到PHP文件,以將數據插入到我的數據庫

  $.ajax({ 
      type: "POST", 
      url: "*http://www.url.com/file.php*", 
      data: dataString, 
      cache: false, 
      success: function (result) { 
       alert(result); 
      } 
     }); 

現在不知爲什麼,只是我的最後一個值是給問題。此選擇輸入僅將前5個字符放在我的數據庫中。當我用文本輸入來試用它時,它只顯示3個字符(我認爲這真的很奇怪)。我試圖調試和找到問題是:

  • 改變我的字符串(最後和倒數第二個值)的順序造成的倒數第二個值顯示不正確(所以國家是成功地發佈(也怪異:P )
  • 我刪除了所有內容在我的PHP文件,並

$國家= $ _ POST [ '國家']取代它; 回聲 「$國家」;

這resulte d中,也將只顯示前5個字符

  1. 我用的console.log查看字符串,這裏的全部內容顯示

所以它看起來很像出了差錯在之間發送字符串和我的PHP文件接收它

我真的知道這裏出了什麼問題。會喜歡一些幫助,因爲我現在已經花了一週的最佳時間!

再見, 克里斯

+0

你在控制檯中得到了什麼? –

+0

編輯您的帖子。添加「預期結果」和「實際結果」; – jessica

+0

有'$(form).serialize()'。但你可以繼續嘗試 –

回答

0

因爲當你交換的領域,國家價值得到了正確插入,但倒數第二個值被截斷。這意味着您以某種方式達到了您發佈的數據的極限。

雖然不太可能,但這可能是你想測試的東西。請嘗試以下操作:

  1. 定期發佈,不含ajax,並檢查是否所有數據都能正確發佈。如果不是,那麼很可能你在你的apache配置或htaccess中設置了不正確的post_max_size

  2. 如果上面的測試能夠正常工作,那麼普通帖子很好,它與ajax有關。確保你的數據不會像url參數一樣(查看它不應該的代碼)。然而,首先單獨發佈每個值,看看他們是否正在經歷。

通過這些測試的結果,您應該能夠辨別問題出在哪裏。你的代碼很好,我強烈地感覺它必須是配置的東西。

+0

謝謝你的幫助。我在apache cordova的android模擬器中填寫表單。現在,當我想今天測試一切,並將其複製到一個網址以在辦公室進行工作時,所有內容都正確發佈!將嘗試查看其他模擬器的功能,並確定問題是否存在 –