我需要有关如何从JavaScript中调用外部PHP脚本的帮助。 请参阅下面的示例
的index.php
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var myName = 'John';
phpResult = /* Need help calling script.php passing is myName and assigning result to phpResult */;
document.getElementById("demo").innerHTML = "The text from the intro paragraph is " + phpResult;
</script>
</body>
</html>
的script.php
<?php
//script.php
//Need help adding last name to John (i.e. Smith) and returning John Smith to calling javascript
?>
答案 0 :(得分:-1)
你可以简单地写
phpResult = '<?php echo $sometext; ?>';
但是,
我一直使用这种方法专门用于将php数组和对象渲染为js对象/数组。
答案 1 :(得分:-1)
首先要做的事情是:你在想什么是不能按照你的想法做的。当请求页面时,服务器运行php文件,然后它将向您发送javascript / html / css页面。所以,当你看到PHP脚本已经完成的页面时。 Javascript正在您的计算机上运行,因此您可以使用它来处理用户交互。
但是,如果您向script.php发送帖子请求,发送您想要的信息,那么您将能够与php文件进行交互。要做到这一点,你需要jquery。以下是如何在jquery中执行此操作的脚本:
$.ajax({
type: "POST",
url: "yoursite/script.php",
data: "name="+myName,
success: function(data){
phpResult = data;
document.getElementById("demo").innerHTML = "The text from the intro paragraph is " + phpResult;
}
});
您可以从此处下载jquery:http://jquery.com/download/
下载后,你必须将它作为普通的javascript文件链接到你的index.php jquery.js文件。
在您的php文件中,您可以使用$_POST["name"]
访问该名称,并且您要发送回的信息,您必须实际打印它。
像这样:
if(isset($_POST["name"])){
$result = "";
//Do something with the name, and fill accordingly the $result variable
// Something like:
$result = $_POST["name"]." Smith";
echo $result;
}