2012-03-01 47 views
0

更新:這是一個編程錯誤,請不要發佈答案。這個問題將被刪除。如果你已經發布了一個答案,請刪除將對象列表轉換爲JSON字符串

我想提交一個表單使用jQuery和ajax。其中一個字段是對象的列表,像這樣:

data = [{"id":1},{"id":2}] 

我通常使用JSON.stringify(數據),但沒有工作這段時間,服務器獲取[object Object],[object Object]

當我做alert(JSON.stringify(data))它可以工作,但有些東西正在將它改回到對象。 我使用jQuery form plugin和這個數據附加到選項的數據屬性對象:

function showRequest(formData, jqForm, options) { 
     return true; //does nothing 
    } 

    var options = { 
     beforeSubmit: showRequest, 
     url: '/search.php', 
     iframe: true, 
     iframeTarget: '#iframe', 
     type: 'post' 
    }; 

    options.data.data = JSON.stringify(data); 
    $('#myForm').ajaxSubmit(options); 

如何將它轉換爲一個JSON字符串,我可以將它發送到服務器?

+0

它爲我的作品... – Alnitak 2012-03-01 10:05:04

+0

同樣在這裏。你在任何特殊的環境中工作嗎? – Sirko 2012-03-01 10:06:24

+0

已更新問題 – ofko 2012-03-01 10:10:34

回答

0

這可以使用jQuery而不使用JSON庫。在PHP

$my_array= $_REQUEST['my_array']; 
print_r($my_array); 

var data = [{"id":1},{"id":2}]; 
$.ajax({ 
    type : 'POST', 
    url : 'test.php', 
    data: {my_array:data}, 
    success : function(data){ 
     //alert(data); 
    }, 
    error : function(XMLHttpRequest, textStatus, errorThrown) { 
     //alert("error"); 
    } 
}); 

使用在後端PHP

例如,它會打印

Array 
(
    [0] => Array 
     (
      [id] => 1 
     ) 

    [1] => Array 
     (
      [id] => 2 
     ) 

) 
相關問題