Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das verstümmelte Problem des PHP-Ajax-Posts

So lösen Sie das verstümmelte Problem des PHP-Ajax-Posts

藏色散人
藏色散人Original
2020-10-10 09:54:191603Durchsuche

Lösung für verstümmelte PHP-Ajax-Beiträge: Öffnen Sie zuerst die entsprechende PHP-Datei und legen Sie dann das Codierungsformat der Seite fest.

So lösen Sie das verstümmelte Problem des PHP-Ajax-Posts

Empfohlen: „PHP-Video-Tutorial

Ajax + PHP-POST-Methode zum Senden von Daten (löst das verstümmelte Problem im chinesischen Backend) Ende empfängt die Daten und speichert die Datenbank.

Beachten Sie, dass contentType so eingestellt werden muss.

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)
                   }
               })
           }

Das Backend akzeptiert:

Das Codierungsformat der Seite ist utf-8 und die SQL Server-Datenbank ist gbk. Achten Sie auf die Konvertierung, da sonst die Einfügung verstümmelt wird.

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);
}
}

Das obige ist der detaillierte Inhalt vonSo lösen Sie das verstümmelte Problem des PHP-Ajax-Posts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn