duanjing9339 2017-01-21 16:30
浏览 45

.ajax发布到外部服务器php文件导致500错误

I have a php file on an second server that creates JWT Tokens using the Firebase Token Generator (https://github.com/firebase/php-jwt).

When I make a post using .ajax in my app, it keeps giving me a 500 error. I think that use \Firebase\JWT\JWT; in the php file may be causing this issue, but i am not sure why. Would appreciate any assistance with pointing me in the right direction.

Here is the PHP

    <?php header('Access-Control-Allow-Origin: *'); ?>

<?PHP


  if (isset($_SERVER['HTTP_ORIGIN'])) {
        header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Max-Age: 86400');    // cache for 1 day
    }

    // Access-Control headers are received during OPTIONS requests
    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
            header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         

        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
            header("Access-Control-Allow-Headers:        {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

        exit(0);
    }

// include('./config.php');
require_once '../vendor/firebase/php-jwt/src/BeforeValidException.php';
require_once '../vendor/firebase/php-jwt/src/ExpiredException.php';
require_once '../vendor/firebase/php-jwt/src/SignatureInvalidException.php';
require_once '../vendor/firebase/php-jwt/src/JWT.php';

$issuedAt = time();
$expire = $issuedAt + 86400;   //add 24 hours 
$personalID = $_POST['personalID'];
$email = $_POST['email'];

        $key = "stringkeyexample";
        $token = array(
           "iss" => "example.com",
           "aud" => "example.org",
           "iat" => $issuedAt,
           "nbf" => $issuedAt,
           "exp" => $expire,
           "pid" => $personalID
        );

if ($puid){
    use \Firebase\JWT\JWT;

    $jwt = JWT::encode($token, $key);

    print_r($jwt);   
}

here is the .ajax:

      $.ajax({
          type: "POST"
          , dataType: "html"
          , url: "https://external-server.com/jwt.php"
          , data: {personalID: personalID, email: email} 
          , beforeSend: function(){
            console.log("before");
          } 
          , complete: function(){ 
            console.log("done");
          }  
          , success: function(html){ 
                    console.log(html);
          }
      });
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题