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

时间:2019-05-14 17:28:48

标签: php jquery mysql json curl

我有一种表单,当使用php curl通过ajax提交对服务器的请求时。一切在我的本地环境(沼泽)中都能正常工作,但是当我将其移至实时服务器时,它不会返回任何json响应。

我不知道为什么它可以在wampserver中工作,而不能在实时服务器上工作?

php代码

<?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代码

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

我用邮递员对其进行了测试,并且可以正常工作。有人知道这个问题可能是什么吗?谢谢。

0 个答案:

没有答案