在Javascript函数中使PHP生成的URL具有可触发性

时间:2016-07-05 07:45:46

标签: javascript php

我有一个PHP脚本,我试图用Javascript触发。我试图用php使用变量动态设置URL但是没有运气,有没有人知道我应该怎么做?

<a href="#" onclick="return getOutput();">Click here</a>

<?php $update_url = 'https://' . $_SERVER['SERVER_NAME'] . '/xyz.php'; ?>

function getOutput() {
  getRequest(
    var str = "<?php echo $update_url ?>", // URL for the PHP file
       drawOutput,  // handle successful request
       drawError    // handle error
  );
  return false;
}

2 个答案:

答案 0 :(得分:1)

这是你可以做的;将PHP值作为字符串传递。

<?php $update_url = 'https://' . $_SERVER['SERVER_NAME'] . '/xyz.php'; ?>

function getOutput() {
  getRequest(
       "<?php echo $update_url ?>", // URL for the PHP file
       drawOutput,  // handle successful request
       drawError    // handle error
  );
  return false;
}

OR

在全局范围内定义为JavaScript值(这可能不起作用)

var updateURL = "<?php $update_url = 'https://' . $_SERVER['SERVER_NAME'] . '/xyz.php'; ?>";

function getOutput() {
  getRequest(
       updateURL, // URL for the PHP file
       drawOutput,  // handle successful request
       drawError    // handle error
  );
  return false;
}

答案 1 :(得分:0)

您无法var str =作为function()的参数。你不能写

functionName(var a='a', b); // this will not work

这是一种解决方法:

function getOutput() {
  var str = "<?php echo $update_url ?>"; // URL for the PHP file
  getRequest(
       str,
       drawOutput,  // handle successful request
       drawError    // handle error
  );
  return false;
}

这种方式更短:

function getOutput() {
  getRequest(
       <?php echo $update_url ?>, // URL for the PHP file
       drawOutput,  // handle successful request
       drawError    // handle error
  );
  return false;
}