duanlu6114 2019-05-14 17:28
浏览 80

无法在实时服务器上获取对Ajax请求的JSON对象响应

I have a form which when submitted made request to the server through ajax using php curl. Everything worked perfectly in my local environment(wamp) but when I moved it to live server, it doesn't return any json response.

I can't figure out why it worked in wampserver but not on live server?

php code

<?php
    if(isset($_POST['logins']))
    {

        require_once 'functions.php';
        require_once("cons.php");

        $licence = $_POST['licence'];

            $url = "http://tapi.com/apis/User/api.php?licence=".$licence;

            $client = curl_init($url);
            curl_setopt($client,CURLOPT_RETURNTRANSFER,true);
            $response = curl_exec($client);


            $data   = json_decode($response, true);

            $msg = $data['message'];
            $lic = $data['licence'];
            $p = $data['period'];
            $u = $data['user'];
            $sta = $data['status'];

            if($msg == 'Successfully Validated!')
            {
            //$_SESSION['data'] = array($data, true);
            $url = "http://tapi.com/apis/User/api.php?lic=".$lic;

            $client = curl_init($url);
            curl_setopt($client,CURLOPT_RETURNTRANSFER,true);
            $response = curl_exec($client);         
            $data   = json_decode($response, true);
            $msg = $data['message'];
            if($msg == 'inserted')
            {

            $host = $_SERVER['HTTP_HOST'];
            $hostaddrs = gethostbyaddr($_SERVER['REMOTE_ADDR']);
            $sys_info =  php_uname();
            $exp_date = encryptIt2($p);
            $date = date('Y-m-d');
            $ts = encryptIt2($date);

             $queryu = "insert into tray(host, license, validity, et)values('$host', '$lic', '$exp_date', '$ts')";  
              $get = mysqli_query($mysqli,$queryu);
            if($get){
            echo "yes";
            }else{
                echo $mysqli -> error;
            }


            }else{
                echo $msg;
            }

            }
          else
            {
                echo $data['message'];
            }



    }

?>

jQuery code

    function licenceForm()
     {      
          var data = $("#licence-form").serialize();

          $.ajax({
          type : 'POST',
          url  : 'ext/b0a012.php',
          data : data,
          beforeSend: function()
          { 
            $("#error").fadeOut();
            $("#btn-login").html('<img src="assets/img/find.png"              
            width="26" height="25">&nbsp;Please wait...');
          },

          success :  function(response)
             {                      
            if(response=="yes"){
            $(".hideit").hide();
            $(".shows").show();

            setTimeout('window.location.href = "index.php"; ',2000);
            }else{      
            $("#error").fadeIn(1000,function(){                     
            $("#error").html('<div class="alert alert-danger text center"> 
         <img src="assets/img/attention.png" width="45" height="40" /> 
              <br/> '+response+'</div>');
              $("#btn-login").html('Error occured. Try again.');
            }); 

                }
            }
          });
              return false;
     }

API

    if (isset($_GET['licence']) && $_GET['licence']!="") {
    $licence = $con->real_escape_string($_GET['licence']);
    //$licence = "M7RS-8C46-APSE";


    $selec = mysqli_query($con, "SELECT  licence, period, users FROM licence_used WHERE licence='$licence'");

    $mrow = mysqli_fetch_array($selec);

    $count = mysqli_num_rows($selec);
    if($count > 0){

     $q2 = mysqli_query($con,"select count(licence) use_count FROM licence_used WHERE licence='$licence'"); 
     $get = mysqli_fetch_array($q2);
     //query 2
     $selec = mysqli_query($con, "SELECT  licence,
    period, users FROM licence_used WHERE licence='$licence'");
    $users = $mrow['users'];
    $num = $get['use_count'];

    if($num == $users){
        $user_arr=array(
        "status" => false,
        "message" => "Licence key entered has been used up by ".$num." users. Please purchase another licence.",
        );
    }else{
        while($row = mysqli_fetch_array($selec)){
    // create array
    $user_arr=array(
        "status" => true,
        "message" => "Successfully Validated!",
        "licence" => $mrow['licence'],
        "period" => $mrow['period'],
        "user" => $mrow['users'],
        "mstatus" => $mrow['status']
    );
   }
    }

    }else{
        $select = mysqli_query($con, "SELECT licence, period, users FROM licence WHERE licence='$licence'");
        if(mysqli_num_rows($select) == 0){
    $user_arr=array(
        "status" => false,
        "message" => "Invalid Licence Key Entered. Please contact the software company.",
    ); 
    }else{
       while($row = mysqli_fetch_array($select)){
    // create array
    $user_arr=array(
        "status" => true,
        "message" => "Successfully Validated!",
        "licence" => $row['licence'],
        "period" => $row['period'],
        "user" => $row['users'],
        "mstatus" => $row['status']
    );
   } 
    }


    }
    }
header("Content-Type:application/json");        
print_r(json_encode($user_arr));

I used postman to test it and it worked. Do anyone know what the issue might be? Thanks.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
    • ¥15 求daily translation(DT)偏差订正方法的代码
    • ¥15 js调用html页面需要隐藏某个按钮
    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler