AJAX和PHP数据传输

时间:2010-09-12 04:52:31

标签: php javascript ajax

基本上我试图做的是创建一个方法,可以采取任何数据类型,并基本上将其转换为php识别数据或JSON。所以说我想传递一个数组,一个二维数组,或者只是一些基本的字符串。我会在参数中调用此函数传递并将其发送到php。现在我将反向工程这个函数,以便能够翻译发送的内容,并将其作为php数组或只是一个字符串。我擅长PHP数组,但我对javascript不好,这就是我的困境。如果有人能给我一些关于javascript方面的见解,我可以从那里采取。然而,最重要的是如何使用带有动态的php发送带有javascript的数组,也就是说,它的维度可以改变它的长度。比如说这个函数处理不同形式的不同数量的输入字段,它需要将这个表单的输入字段发布到一个数组中,转换为JSON并发送。

感谢我能得到的任何帮助或指导正确的方向,谢谢。

1 个答案:

答案 0 :(得分:2)

以下是使用jQueryAJAXJSONPHP JSON encode的示例。我希望它能帮助你理解这一流程。

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

});