Maison > Article > développement back-end > Comment résoudre le problème tronqué de la publication php ajax
La solution aux messages php ajax tronqués : ouvrez d'abord le fichier PHP correspondant ; puis définissez le type de contenu ; puis définissez le format d'encodage de la page et enfin convertissez l'encodage de la base de données du serveur SQL.
Recommandé : "Tutoriel vidéo PHP"
Méthode ajax+php POST pour envoyer des données (après résolution des caractères chinois tronqués à la fin)
Le front-end Ajax appelle l'interface, et le back-end reçoit les données et les enregistre dans la base de données.
Notez que contentType doit être défini comme ceci.
if(isSuccess){ var token = sessionStorage.token; $.ajax({ type:'post', url:'../../api/container/'+token+'/addContainerDamageReport', contentType:'application/x-www-form-urlencoded;charset=utf-8', data:{'containerName':'HJSY'+containerName,'username':username,'description':descript,'damageTime':damageTime ,'reportTime':reportTime,'damageLevel':badLevel,'damageType':badType}, cache:false, dataType:'json', success:function(data){ $('#submit').attr('data-dismiss',"modal"); console.log(data) } }) }
Le backend accepte :
Le format d'encodage de la page est utf-8, et la base de données du serveur SQL est gbk. Faites attention à la conversion, sinon l'insertion sera tronquée.
if($action=='addContainerDamageReport') { $ret["IsInsert"]=false; if($conn!=false) { $containerName = isset($_POST['containerName'])?$_POST['containerName']:""; $username = isset($_POST['username'])?$_POST['username']:""; $description = isset($_POST['description'])?iconv("utf-8","gbk",$_POST['description']):""; $damageTime = isset($_POST['damageTime'])?$_POST['damageTime']:""; $reportTime = isset($_POST['reportTime'])?$_POST['reportTime']:""; $damageLevel = isset($_POST['damageLevel'])?$_POST['damageLevel']:""; $damageType = isset($_POST['damageType'])?$_POST['damageType']:""; $SqlString="INSERT INTO [Mopex].[dbo].[ContainerDamageReport] ([Id],[ContainerName],[DamageTime],[ReportTime] ,[DamageLevel],[CheckName],[DamageType],[Description] ,[ReportName],[Status],[CheckTime]) values(newId(),'".$containerName."','".$damageTime."','".$reportTime."', '".$damageLevel."','admin','".$damageType."','".$description."','".$username."', 0,'1900-01-01 00:00:00.0000000')"; OpenDB($conn,$databasename); $rs_insert = DB_Query($conn,$SqlString); if($rs_insert != false) { $ret["IsInsert"]=true; $DataList[0]=array('containerName'=>$containerName,'username'=>$username, 'damageTime'=>$damageTime,'reportTime'=>$reportTime,'damageLevel'=>$damageLevel,'damageType'=>$damageType, 'description'=>$description,'status'=>'0'); } DB_Close($conn); } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!