2016-03-11 131 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