2016-10-28 137 views
0

我有此Ajax代碼(與笨框架)的延伸笨AJAX失敗

function api_voiture_update(func_success, data, voiture_id, num, nom, prenom, entite, direction, immatriculation, marque, modele, finition, segment, boite, loueur, forfaitkm, duree, datedebut, datefin, ct, alerte, emissionsco2, etiquetteco2, consokm, couleur,gps , puissancech, cvfiscaux, energie, categorie, classe, telepeage, cartec, cartetotal, km, date, email_c, dateaffec, telephone, tco, tcoreel, tvs, pneuete, pneuhiver, loyermen, maintenance, pneu, loyerttc, amortissement, prixttc, prixoption, prixremise, optionre, remise, bonus, prixtotal, prixenergie, assurance, renonciation, avtnature, daterea, nomrea, comrea, couttotal, carbuanuel, comsuivi, comoption, alertect, checkct, checktotal, checktele) { 

var options = {token: user.token, voiture_id: voiture_id, num: num, nom: nom, prenom: prenom, entite: entite, direction: direction, immatriculation: immatriculation, marque: marque, modele: modele, finition: finition, segment: segment, boite: boite, loueur: loueur, forfaitkm: forfaitkm, duree: duree, datedebut: datedebut, datefin: datefin, ct: ct, alerte: alerte, emissionsco2: emissionsco2, etiquetteco2: etiquetteco2, consokm, couleur: couleur, gps: gps, puissancech: puissancech, cvfiscaux: cvfiscaux, energie: energie, categorie: categorie, classe: classe, telepeage: telepeage, cartec: cartec, cartetotal: cartetotal, km: km, date: date, email_c: email_c, dateaffec: dateaffec, telephone: telephone, tco: tco, tcoreel: tcoreel, tvs: tvs, pneuete: pneuete, pneuhiver: pneuhiver, loyermen: loyermen, maintenance: maintenance, pneu: pneu, loyerttc: loyerttc, amortissement: amortissement, prixttc: prixttc, prixoption: prixoption, prixremise: prixremise, optionre: optionre, remise: remise, bonus: bonus, prixtotal: prixtotal, prixenergie: prixenergie, assurance: assurance, renonciation: renonciation, avtnature: avtnature, daterea: daterea, nomrea: nomrea, comrea: comrea, couttotal: couttotal, carbuanuel: carbuanuel, comsuivi: comsuivi, comoption: comoption, alertect: alertect, checkct: checkct, checktotal: checktotal, checktele: checktotal, ids: user.ids, statu: user.statu}; 
var data2 = $.extend({}, data, options); 
alert(JSON.stringify(data2)); 
$.ajax({ 
    type: "POST", 
    url: base_url + 'voiture/update', 
    data: data2, 
    error: function(data) { 
     error = $.parseJSON(data.responseText).error; 
     func_error(error); 
    }, 
    success: function(data) 
    { 
     alert(JSON.stringify(data)); 
     if (data.length === 0) 
      alert("Les modifications n'ont pas été prises en compte, veuillez recommencer."); 
     console.log(data); 
     func_success(data); 
    } 
}); 
} 

數據是我的形式的一個getFormData。 問題是,使用data2的警報,數組不是空的,但是數據警報是空的。 但data = data2,所以我不明白。

而且,在更多,這個錯誤不會來的時候,有一次它的工作,數據不爲空,而其他時間,它會失敗。

感謝您的閱讀。

+0

你路過CSRF令牌 http://stackoverflow.com/questions/11269439/how-to-include-csrf-from-codeigniter-into-ajax-data – shafiq

回答

0

base_url()是服務器端代碼前端,不會工作。 使用

var getUrl = window.location; 
    var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1]; 

得到基本URL在前端

+0

代碼做工精細,但有時候,數據是空的。 –

+0

如果你的腳本是在一個js文件五個完整路徑,否則,如果它是在視圖頁面,您可以'<?= BASE_URL()>' –

+0

BASE_URL只是一個變量:BASE_URL =「/index2.php/」;這不是問題。 –

0

通數據,如

數據:{令牌:user.token,voiture_id:voiture_id,民:NUM,NOM:標稱,prenom: prenom,entite:entite,entite,direction:direction,immatriculation:immatriculation,marque:marque,modele:modele,finition:finition,segment:segment,boite:boite,loueur:loueur,forfaitkm:forfaitkm,duree:duree,datedebut:datedebut, datefin:datefin,ct:ct,alerte:alerte,emissionsco2:emissionsco2,etiquetteco2:etiquetteco2,consokm,couleur:couleur,gps:gps,puissancech: puissancech,cvfiscaux:cvfiscaux,ENERGIE:ENERGIE,種類:categorie,CLASSE:CLASSE,telepeage:telepeage,cartec:cartec,cartetotal:cartetotal,公里公里,日期:日期,email_c:email_c,dateaffec:dateaffec,電話:電話, tco:tco,tcoreel:tcoreel,tvs:tvs,pneuete:pneuete,pneuhiver:pneuhiver,loyermen:loyermen,maintenance:maintenance,pneu:pneu,loyerttc:loyerttc,amortissement:amortissement,prixttc:prixttc,prixoption:prixoption,prixremise: prixremise,optionre:optionre,出讓:出讓,獎金:獎金,prixtotal:prixtotal,prixenergie:prixenergie,保證:保證,renonciation:renonciation,avtnature:avtnature,daterea:daterea,nomrea:nomrea,comrea:comrea,couttotal:couttotal, carbuanuel:carbuanuel,comsuivi:comsuivi,comoption:comoption,alertect:alertect,checkct:checkct,checktotal:checktotal,checktele:checktotal,ids:user.ids,statu:user.statu}

+0

我不能這樣做,否則所有的值都將爲空。數組的值來自於擴展。 –

+0

是你需要張貼json數據 –

+0

如果是的話添加dataType:「json」 –