2013-08-05 83 views
1

我有这个JavaScript数组中的存储能力值:需要从javascript传递数组值到PHP控制器代码点火器

<script> 
$(function(){ 
    $('#preview').click(function(){ 
    var thesum=0; 
    var rowid=[]; 
    var rowfields=[]; 
    var supplier = document.getElementById("sid").value; 
    var terms=document.getElementById("terms").value; 
    var podate=document.getElementById("date1").value; 
    var reqdate=document.getElementById("date2").value; 
    var contp=document.getElementById("contactp").value; 
    var count = ($('#listOfProducts tr').length); 
    //loop start 
    var i=0; 
    grid=$('#listOfProducts input[type="checkbox"]:checked').each(function(){ 
    var $row = $(this).parents('tr'); 
    var $trid =$(this).closest('tr').attr('id'); 
    rowid[i]=$trid; 
    rowfields.push({itemname: $row.find('td:eq(0)').text(),  productname:$row.find('td:eq(1)').text(), productdesc: $row.find('td:eq(2)').text(), unitprice:$row.find('td:eq(3)').text(), quantity:$row.find('td:eq(5) input').val(), amount:$row.find('td:eq(6) input').val()}); 
    i++; 
    });//each close 

var dataString = JSON.stringify(rowfields); 
    });//preview click close 
});//function close 
</script> 

我需要的rowfields数组传递给我的控制器,这样我就可以开始操纵关于其他功能的数据。你能帮我解决这个问题吗?

+0

使用AJAX POST发送的数据CONTROLLOR – Sundar

+0

我真的不知道该怎么:( –

回答

1

jQuery的AJAX

$(document).ready(function(){ 

    $('#preview').click(function(){ 
    var thesum=0; 
    var rowid=[]; 
    var rowfields=[]; 
    var supplier = document.getElementById("sid").value; 
    var terms=document.getElementById("terms").value; 
    var podate=document.getElementById("date1").value; 
    var reqdate=document.getElementById("date2").value; 
    var contp=document.getElementById("contactp").value; 
    var count = ($('#listOfProducts tr').length); 
    //loop start 
    var i=0; 
    grid=$('#listOfProducts input[type="checkbox"]:checked').each(function(){ 
    var $row = $(this).parents('tr'); 
    var $trid =$(this).closest('tr').attr('id'); 
    rowid[i]=$trid; 
    rowfields.push({itemname: $row.find('td:eq(0)').text(),  productname:$row.find('td:eq(1)').text(), productdesc: $row.find('td:eq(2)').text(), unitprice:$row.find('td:eq(3)').text(), quantity:$row.find('td:eq(5) input').val(), amount:$row.find('td:eq(6) input').val()}); 
    i++; 
    });//each close 

    var dataString = JSON.stringify(rowfields); 

    //ajax function 
    //http://api.jquery.com/jQuery.ajax/ 
     $.ajax({ 
      //controller path 
      url: "/path/to/url", 
      type: "POST", 
      dataType: "json", 
      contentType: "json", 
      data: dataString 
      success: function(response){    
      console.log(response); 
      }, 
      error: function(response){ 

       console.log(response); 
      } 
     }); //ajax close 



    });//preview click close 
});//function close 
+0

如果你不能得到的输入值到$这个 - >输入 - >后()然后尝试像这样file_get_contents('php:// input') – Sundar

+0

这里是我的控制器函数...我如何检查数据是否已通过公共职能retrievepoform(){ \t $ myPostData = $ this-> input-> post(); \t echo json_encode($ myPostData); \t $ this-> load-> view('PurchaseOrderPreview'); \t} –

+0

在服务器端,如果要将其用作数组,则需要使用json_decode()函数将字符串转换回JS。如果您只需要将数据存储在数据库中,则可以将数据更好地存储为一列中的文本。 – Nishanthan

相关问题