2016-01-27 2 views
-2

He guyz,

Я очень смущен из-за того, что происходит с моими значениями формы.

Сначала я создал простую форму html, из которой я преобразую значения в строку. Ниже приведена часть кода в документе.ready

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); 
      } 
     }); 

Теперь как-то, только мое последнее значение дает проблемы. этот select input вводит только первые 5 символов в моей базе данных. Когда я попробовал его с текстовым вводом, он отображает только 3 символа (что я считал действительно странным). Я пытался отладки и найти, где проблема была:

  • Изменение порядка моей строки (последний и предпоследний значения) привело к второй последнее значение не отображается правильно (чтобы страны был отправлен успешно (и странно: P)
  • Я удалил все содержимое в моем файле PHP и заменить его
  • страны

$ = $ _ POST [ 'страны']; эхо "$ страны";

этого resulte d в, также, только первые 5 символов, которые будут отображаться

  1. Я использовал console.log для просмотра строки и здесь полное содержание отображается

так выглядит почти как что-то пойдет не так между отправкой строки и моим файлом php, получающим его

Я честно знаю, что здесь происходит. Хотелось бы помочь, так как я потратил на это самую большую часть НЕДЕЛИ!

Bye, Chris

+0

Что вы получаете в своей консоли? –

+0

Редактировать сообщение. Добавить «Ожидаемые результаты» и «Фактические результаты»; – jessica

+0

Существует '$ (form) .serialize()'. Но вы можете продолжать пробовать –

ответ

0

Так когда вы поменялись местами поля, значение страны получили вставлено правильно, но второе последнее значение усечены. Это означает, что вы каким-то образом сталкиваетесь с лимитом с точки зрения данных, которые вы публикуете.

Хотя это маловероятно, это может быть то, что вы хотите проверить. Попробуйте следующее:

  1. Сделать обычную почту без аякса и проверить, правильно ли отправлены все данные. Если нет, то, скорее всего, у вас есть неправильный post_max_size, установленный в вашей конфигурации apache или htaccess.

  2. Если тест выше работает, то регулярный пост в порядке, и он имеет какое-то отношение к ajax. Убедитесь, что ваши данные не соответствуют параметру url (смотря на код, который он не должен). Однако сначала отправляйте каждое значение отдельно, чтобы увидеть, проходят ли они.

С результатами этих испытаний вы должны уметь различать, где проблема.Ваш код в порядке, я сильно чувствую, что это должно быть что-то с конфигурациями.

+0

Благодарим за помощь. Я заполнял форму в андроидном эмуляторе apache cordova. Теперь, когда я хотел протестировать все сегодня и скопировал его на URL-адрес, чтобы работать над ним в офисе, все было опубликовано правильно! Попробуем посмотреть, что делают другие эмуляторы, и определить, есть ли там проблема –

Смежные вопросы