2016-03-11 257 views
2

我有爆炸问题。我想插入数据,我使用爆炸,因为值通过斜杠“/”连接。即时通讯使用ajax传递的价值。这里是我的代码:未定义偏移量:爆炸后1“/”

阿贾克斯的看法:

var changeData = function(strData,intKode,dataToChange){ 
var noinvoice = $("input[name='noinvoice']").val(); 
var arrayData = {newData: strData, kode: intKode, invoice: noinvoice}; 
var kodepekerjaan = $("input[name='kodepekerjaan']").val(); 
var tab; 
if (dataToChange=="qty_komponen"){ 
    tab = "tab2"; 
} else { 
    tab = "tab1"; 
} 
$.ajax({ 
    url: "<?php echo site_url('workorder/changedata');?>/"+dataToChange, 
    type: 'POST', 
    data: arrayData, 
    success: function(){ 
     location.reload(); 
    }, 
    error : function(data){ 
     var noinvoice = $("input[name='noinvoice']").val(); 
     alert(noinvoice); 
     console.log(arrayData); 
    } 
}); 

下面是一个控制台日志和值正确显示,我要爆炸了“科德”一个具有“/”作为分隔符。

Object {newData: "2", kode: "FG-00044/OM1017", invoice: "PJ201603100001"} 

这里是我的模型查询:

function edit_workorderkomponen($dataToChange){ 
    $kode = explode("/", $this->input->post('kode')); 
    $noinvoice = $this->input->post('invoice'); 
    switch ($dataToChange){ 
     case 'qty_komponen' : 
      $qty = $this->input->post("newData"); 
      $q = "update itemworkorder set qty='".$qty."' where kodepekerjaan='".$kode[0]."' and kodebahan='".$kode[1]."' and noinvoice='".$noinvoice."'"; 
      break; 
    } 
    $this->db->query($q); 
} 

是什么使得它错了吗?任何帮助将不胜感激,对不起我的英语不好。由于

+1

你可以转储'$ kode'和'$这个 - >输入 - >后( '科德')' –

+0

@VasilShaddix如何在ajax文章中做到这一点?我试图转储,但结果是''数组(1){[0] =>字符串(0)“”}'为'$ kode'和'bool(false)'为'$ this-> input-> post( 'kode')' – Yoshioka

+1

是否将该对象发布为JSON? CI是否自动理解和解码JSON?或者你将不得不自己对整个POST主体进行'json_decode' ...? – deceze

回答

-1

我认为你需要躲避/字符,像这样:$kode = explode("\/", $this->input->post('kode'));

+0

如果我错了,只是这么说。请解释反对票。 – CharlesEF

+0

你错了。跳转正斜杠毫无意义。 – deceze

+0

哦,对不起,我正在考虑JavaScript。 – CharlesEF