簡體   English   中英

CodeIgniter:如何在RESTful Server上接收序列化數組中的發布數據?

[英]CodeIgniter : How to receive serialize post data in array on RESTful Server?

我想問一下,如何從CodeIgniter RESTful Server上的數組序列化數據中接收數據?

阿賈克斯

$.ajax({
    type: 'POST',
    url: "/mywebsite/api/index.php/purchase",
    data: $("#formdatatrans").serialize(),
    success: function(response) {
        alert("Success");
    }
});

HTML表格

<input type="text" name="data1[]">
<input type="text" name="data2[]">
<input type="text" name="data3[]">
<input type="text" name="data4[]">

控制者

function index_post() {       
$data = array(
            'data1'           => $this->post('data1'),
            'data2'       => $this->post('data2'),
            'data3'             => $this->post('data3'),
            'data4'    => $this->post('data4'));
$insert = $this->db->insert('table1', $data);
if ($insert) {
$this->response($data, 200);
} else {
$this->response(array('status' => 'fail', 502));
}}

輸入數據

Array [0]
Data1 = abc_1
Data2 = abc_1
Data3 = abc_1
Data4 = abc_1

Array [1]
Data1 = abc_2
Data2 = abc_2
Data3 = abc_2
Data4 = abc_2

如何使用for / while循環一次添加以上所有數據?

提前致謝

您可以將合並合並一起使用,可以將兩個數組轉換為一個數組

<?php
$array1 = array('Data1' =>"abc_1",'Data2' =>"abc_1",'Data3' =>"abc_1",'Data4' =>"abc_1");
$array2=array('Data5' =>"abc_2",'Data6' =>"abc_2",'Data7' =>"abc_2",'Data8' =>"abc_2");
$data  = array_merge($array1, $array2);
print_r($output);
?>

以此替換您的控制器,並檢查是否可以使用foreach循環將其插入一次。

function index_post() {       

    $data1 = $this->post('data1');
    $data2 = $this->post('data2');
    $data3 = $this->post('data3');
    $data4 = $this->post('data4');

    foreach ($data1 as $key=> $value) {
        $data['data1'] = $data1[$key];
        $data['data2'] = $data2[$key];
        $data['data3'] = $data3[$key];
        $data['data4'] = $data4[$key];
        $insert = $this->db->insert('table1', $data);
    }

    if ($insert) {
        $this->response($data, 200);
    } else {
        $this->response(array('status' => 'fail', 502));
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM