使用 document.createElement() 加载 PHP 文件

发布于 2024-11-17 00:23:16 字数 728 浏览 11 评论 0原文

我怎样才能做到这一点?我想加载一个像这样的 php 文件:

  • 单击按钮。
  • 调用 JavaScript 函数。
  • 在 Javascript 函数中使用 src file.php 创建一个 img。

这应该强制加载 php.ini 文件。这是代码。

<script type="text/javascript">
var d;

function callSave() {
 alert ('calling');
 if (d) document.body.removeChild(d);
 // d = document.createElement("script");
 d = document.createElement("img");
 d.src = "savepages.php";
 //d.type = "text/javascript";
 document.body.appendChild(d);
}

</script>

然后在 savepages.php 中我执行另一个警报来验证 php 是否被调用。这是 savepages.php。

<?php
echo "alert('from the php');"; 
?>

php 的警报不会发生。是否有不同的元素类型会强制加载 php?我没有安装ajax,所以我需要这样的解决方法。

谢谢。

How could I make this work? I want to load a php file like this:

  • Click button.
  • Call Javascript function.
  • In Javascript function create an img with src file.php.

This should force the loading of the php. Here is the code.

<script type="text/javascript">
var d;

function callSave() {
 alert ('calling');
 if (d) document.body.removeChild(d);
 // d = document.createElement("script");
 d = document.createElement("img");
 d.src = "savepages.php";
 //d.type = "text/javascript";
 document.body.appendChild(d);
}

</script>

Then in savepages.php I do another alert to verify that the php is called and it isn't. Here is the savepages.php.

<?php
echo "alert('from the php');"; 
?>

The alert from the php doesn't happen. Is there a different element type that will force loading of the php? I don't have ajax installed, so I need a workaround like this.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苍风燃霜 2024-11-24 00:23:16

您可以使用 iframe 元素

<script type="text/javascript">
var d;

function callSave() {
 alert ('calling');
 if (d) document.body.removeChild(d);
 d = document.createElement("iframe");
 d.src = "savepages.php";
 document.body.appendChild(d);
}

</script>

You could use an iframe element

<script type="text/javascript">
var d;

function callSave() {
 alert ('calling');
 if (d) document.body.removeChild(d);
 d = document.createElement("iframe");
 d.src = "savepages.php";
 document.body.appendChild(d);
}

</script>
隱形的亼 2024-11-24 00:23:16

找到了更好的方法来处理这个问题。有这段简单的代码解释了如何从表单事件调用 javascript 函数并从该 javascript 函数加载 PHP 文件。 http://daniel.lorch.cc/docs/ajax_simple/ 中找到的代码也是此处给出:

<script type="text/javascript">
var http = false;

if(navigator.appName == "Microsoft Internet Explorer") {
  http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
  http = new XMLHttpRequest();
}

function validate(user) {
  http.abort();
  http.open("GET", "validate.php?name=" + user, true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
      document.getElementById('msg').innerHTML = http.responseText;
    }
  }
  http.send(null);
}
</script>

<h1>Please choose your username:</h1>

<form>
  <input type="text" onkeyup="validate(this.value)" />
  <div id="msg"></div>
</form>

validate.php

<?php
function validate($name) {
  if($name == '') {
    return '';
  }

  if(strlen($name) < 3) {
    return "<span id=\"warn\">Username too short</span>\n";
  }

  switch($name) {
    case 'bob':
    case 'jim':
    case 'joe':
    case 'carol':
      return "<span id=\"warn\">Username already taken</span>\n";
  }

  return "<span id=\"notice\">Username ok!</span>\n";
}

echo validate(trim($_REQUEST['name']));
?>

Found out the better way to handle this. There is this simple code that explains how to call a javascript function from a form event and from that javascript function load a PHP file. The code found at http://daniel.lorch.cc/docs/ajax_simple/ is also given here:

<script type="text/javascript">
var http = false;

if(navigator.appName == "Microsoft Internet Explorer") {
  http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
  http = new XMLHttpRequest();
}

function validate(user) {
  http.abort();
  http.open("GET", "validate.php?name=" + user, true);
  http.onreadystatechange=function() {
    if(http.readyState == 4) {
      document.getElementById('msg').innerHTML = http.responseText;
    }
  }
  http.send(null);
}
</script>

<h1>Please choose your username:</h1>

<form>
  <input type="text" onkeyup="validate(this.value)" />
  <div id="msg"></div>
</form>

validate.php

<?php
function validate($name) {
  if($name == '') {
    return '';
  }

  if(strlen($name) < 3) {
    return "<span id=\"warn\">Username too short</span>\n";
  }

  switch($name) {
    case 'bob':
    case 'jim':
    case 'joe':
    case 'carol':
      return "<span id=\"warn\">Username already taken</span>\n";
  }

  return "<span id=\"notice\">Username ok!</span>\n";
}

echo validate(trim($_REQUEST['name']));
?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文