2016-11-10 27 views
0

我試圖讓我的應用程序運行到我的if語句,但它下降到其他語句,這不是我想要的。回調數據是「通過」,這是正確的,如果我的條件,但它仍然跑到其他地方。請看看我的代碼。

JS文件

$http.post(path, postdata 
       ).success(function (data, status, headers, config) { 
        //if (data) { 

         // $scope.PostDataResponse = data; 
         if (data === "Pass"){ 

         setCookie("Username", $scope.formdata.Username); 
         setCookie("cafe_id", $scope.formdata.cafe_id); 
         console.log(getCookie("Username")); 

         alert("ลงทำเบียนสำเร็จ !"); 
         $location.url('/viewSaveCafeDetail'); 
         //console.log(data); 
         //alert("สมัครสมาชิกสำเร็จ"); 


         //$scope.insertcafe(); 
         //$scope.sendEmail(); 
         // $scope.reset(); 
         // $scope.getData(); 




         }else{ <--- ran down to else statement 
          alert(data); <--- callback value is "Pass" which is match with my if condition. 
         } 

PHP文件

<?php 
header("Access-Control-Allow-Origin: *"); 
    header("Access-Control-Allow-Credentials: true"); 
    header("Access-Control-Allow-Methods : GET,POST,PUT,DELETE,OPTIONS"); 
header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Requested-With, X-YOUR-CUSTOM-HEADER'); 
    header("Content-Type : application/json"); 
     header("Accept : application/json"); 

$serverName = "localhost"; 
    $userName = "root"; 
    $userPassword = ""; 
    $dbName = "middlework"; 

    $conn = new mysqli($serverName,$userName,$userPassword,$dbName); 
    mysqli_set_charset($conn,"utf8"); 
    session_unset(); 
session_start(); 

    $postdata = file_get_contents("php://input"); 
$request = json_decode($postdata); 
$strSQL = "INSERT INTO users "; 
$strSQL .="(Username,Password,Firstname,Lastname,Email,Tel,AccountStat,VerifyCode,Verifystat) "; 
$strSQL .="VALUES "; 
$strSQL .="('".$request->Username."','".$request->Password."','".$request->Firstname."' "; 
$strSQL .=",'".$request->Lastname."','".$request->Email."','".$request->Tel."','User','".session_id()."','None') "; 



mysqli_query($conn,$strSQL) or die(mysqli_error($conn)); 

    $insertcafe = "INSERT INTO cafe (cafe_id,Username,CafeName) VALUES ('1' , '".$request->Username."', '".$request->CafeName."')"; 

require_once('PHPMailer/PHPMailerAutoload.php'); 
     $mail = new PHPMailer(); 
$mail->IsHTML(true); 
$mail->CharSet = "utf-8"; 
$mail->IsSMTP(); 
$mail->SMTPAuth = true; // enable SMTP authentication 
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier 
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server 
$mail->Port = 465; // set the SMTP port for the GMAIL server 
$mail->Username = "[email protected]"; // GMAIL username 
$mail->Password = "1100501068349"; // GMAIL password 
$mail->From = "[email protected]"; // "[email protected]"; 
$mail->FromName = "ThaiCoffeeShopOnline"; // set from Name 
$mail->Subject = "ยืนยันการสมัครสมาชิก ThaiCoffeeShopOnline";        
$mail->Body = "ขอขอบคุณที่สมัครเป็นสมาชิกกับเรา กรุณาคลิก Url ด้านล่างเพื่อทำการ Activate บัญชีของคุณ</br> 
       http://localhost/activate.php?sid=".session_id()."&uid=".$request->Username."</br></br> ThaiCoffeeShop.com"; 




$mail->AddAddress($request->Email); // to Address 

if($conn->query($insertcafe)) 
{ 
    if (!$mail->send()) { 
    //echo "ไม่สามารถส่ง email: " . $mail->ErrorInfo; 
    echo "EmailFail"; 
} else { 
    echo "Pass "; 
    //json_decode(); 
} 
    //echo "Save Cafe Done.[".$insertcafe."]"; 

} 
else 
{ 
    echo ""; 
    //echo mysqli_error($conn); 
    //echo "ไม่สามาถบันทึกข้อมูล[".$insertcafe."]"; 
} 



$conn->close(); 
?> 

value is Pass

+0

什麼'console.log(typeof data,data)'? –

+0

@Maximus字符串先生。 –

+0

好的,這個'console.log(data.split(「」)。map(function(char){0}返回char.charCodeAt(0); })。join(「,」));''''console。 log(「Pass」.split(「」)。map(function(char){return 0,char.charCodeAt(0); })。join(「,」));'? –

回答

1

你的PHP文件有echo "Pass ";其中寫道: 「通行證」 之後,你是比較對字符串「通過的空間「沒有空間。

另外,您的PHP文件末尾也可能會有一個空行,它也會包含在輸出中。這可以通過從最後刪除?>標籤來解決。

+0

OMG你救了我的命,非常感謝你! –

相關問題