2010-09-12 55 views
0

那麼基本上,我試圖做的是創建一個方法,可以採取任何數據類型,並基本上將其轉換爲php識別的數據或JSON的事情。所以說,我想傳遞一個數組,一個二維數組,或者只是一些基本的字符串。我會在參數中調用該函數傳遞並將其發送給php。現在我會反向設計這個函數,以便能夠翻譯發送的內容並將其作爲一個php數組或者只是一個字符串。我擅長php數組,但是iam在javascript中不好,這裏是我的困境。如果任何人都可以給我一些關於javascript方面的見解,我可以從中看到。然而,最重要的是如何發送一個數組與JavaScript的動態,也就是說,它的維度可以改變和它的長度。比如說這個函數處理不同形式的不同數量的輸入字段,它需要將這個表單的輸入字段放到一個數組中,轉換成JSON併發送。AJAX和PHP數據傳輸

感謝任何幫助,我可以得到一個正確的方向或指導,謝謝。

回答

2

以下是使用jQuery,AJAX,JSONPHP 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; 
}); 

}); 
+0

正是我一直在尋找,謝謝兄弟。 – 1337holiday 2010-09-13 04:13:37

+0

總是使用'hasOwnProperty'檢查'for ... in'循環中的元素,否則您也可能遍歷其原型的屬性。 – 2011-05-11 14:08:05