2012-05-14 48 views
1

「我有JavaScript的關聯數組名‘選項’JavaScript的關聯數組到PHP

<script> 
options[dynamickey] = Number; 
</script> 

,我只是想送這個數組使用jQuery笨模型發佈

<script> 
$.('link',options); 
</script> 

但問題是我不知道如何提取這個數組的每個鍵和值(選項)。 我的JavaScript數組數據看起來像這樣

<script> 
    options { 
    id => 135, 
    'Chestnut' => 11, 
    'Cinamon' => 1 
    } 
</script> 

在笨(PHP)模式,我只是想提取該陣列像這樣

<?php 
$id = $this->input->post('id'); 
//below variable names and data should be dynamic from that javascript array 
$chesnut= $this->input->post('dynamic value'); 
?> 

請幫我解決這個問題。

+0

你怎麼能發佈到你的模型!你需要一個控制器方法來處理這個 – Broncha

+0

是的,我有控制器,但在我的帖子中,我只是忽略該步驟 –

+0

請注意,[JavaScript沒有關聯數組](http://andrewdupont.net/2006/05/18/ JavaScript的相聯陣列考慮的有害/)。你有一個JavaScript對象的屬性。這將變得重要,如果你試圖循環的項目或JSON編碼'數組'取決於你如何創建它,它可能會失敗或有額外的神祕價值。 – DampeS8N

回答

2
在你的jQuery

,你做一個帖子:

var options = { 
    'id' : 135, 
    'Chestnut' : 11, 
    'Cinamon' : 1 
} 

$.post('example.com/index.php/firstsegment/secondsegment',options,function(data){...}); 

在笨控制器接收這個帖子:

public firstsegment extends CI_Controller { 

    public function secondsegment(){ 
     $data = $this->input->post(); 

     if($data){ 
      /* 
      $data will contain this: 
      $data = array(
       'id' => '135', 
       'Chestnit' => '11', 
       'Cinamon' => '1' 
      ); 
      */ 
     } 
    } 
} 
+0

謝謝,很有幫助。 –

0

有點罕見的要求坦率。你想要一些可能由你的系統渲染的東西,以便發送到你的系統?

儘管如此。在jQuery ajax中添加{ data : options }以及現有的常用值。

例子:

var options = { 
    'id' : 135, 
    'Chestnut' : 11, 
    'Cinamon' : 1 
} 

$.ajax({ 
    type: "POST", 
    url: "some.php", 
    data: options 
}).done(function(msg) { 
    alert("Data Saved: " + msg); 
});