Передача данных AJAX и PHP - PullRequest
       2

Передача данных AJAX и PHP

0 голосов
/ 12 сентября 2010

Ну, в общем, я пытаюсь создать метод, который может принимать любой тип данных и, по сути, конвертировать его в данные, распознаваемые php или в JSON. Скажем, я хотел передать массив, двумерный массив или просто некоторую базовую строку. Я бы назвал эту функцию передачей параметров и отправил ее в php. Теперь я бы перепроектировал эту функцию, чтобы иметь возможность переводить то, что было отправлено, и получать его как массив php или просто строку. Я хорошо разбираюсь в php-массивах, но я плохо разбираюсь в javascript, здесь кроется моя дилемма. Если кто-нибудь может дать мне некоторое представление о стороне JavaScript, я могу взять, если оттуда. Наиболее важным, однако, является то, как отправить массив с javascript с php, который является ДИНАМИЧНЫМ, то есть его размер может измениться и его длина. Скажем, например, что эта функция обрабатывает различные формы различного количества полей ввода, ей нужно отправить поля ввода этой формы в массив, преобразовать в JSON и отправить.

Благодарим Вас за любую помощь или руководство в правильном направлении, спасибо.

1 Ответ

2 голосов
/ 12 сентября 2010

Вот пример использования jQuery , AJAX , JSON и PHP JSON кодировать .Я надеюсь, что это поможет вам понять поток.

test.php:

<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript" src="jsFile.js"></script>

<form action='_test.php' method='post' class='ajaxform'>
 <input type='text' name='txt1' value='Test Text 1'>
 <input type='text' name='txt2' value='Test Text 2'>
 <input type='submit' value='submit'>
</form>

<br /><br />

<div id='testDiv1'>txt1's text comes here....</div>
<div id='testDiv2'>txt2's text comes here....</div>

_test.php:

<?php
      $arr = array( 'testDiv1' => $_POST['txt1'], 'testDiv2' => $_POST['txt2'] );
      echo json_encode( $arr );
?>

jsFile.js

jQuery(document).ready(function(){

 jQuery('.ajaxform').submit( function() {

  $.ajax({
         url  : $(this).attr('action'),
         type : $(this).attr('method'),
         dataType: 'json',
         data : $(this).serialize(),
         success : function( data ) {
                    for(var id in data) {
                       jQuery('#' + id).html( data[id] );
                    }
                   }
     });

  return false;
 });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...