我有JavaScript,我想在JavaScript中运行包含脚本。我尝试了以下声明:
outputEl.innerHTML = '<?php include "./change/ud1.php";?>';
当我运行脚本时,我没有得到回复。
有人知道为什么我没有得到任何回复以及我如何解决它?
我尝试用html iframe替换PHP include。这有效,但这对我来说不是最好的解决方案。
答案 0 :(得分:11)
在这种情况下无需使用javascript
您可以直接在需要的地方使用响应
<div id="outputEl"><?php include "./change/ud1.php";?></div>
答案 1 :(得分:7)
您无法在.js文件中运行php。据我所知,你需要从你的js文件中获取php文件的内容。
这是一个简单的实现。
var xhr = new XMLHttpRequest();
xhr.onload = function () {
outputEl.innerHTML = this.response;
};
xhr.open('GET', './change/ud1.php', true); // you may need to correct the url to be relative to the js file
xhr.send();
使用jquery可能更容易,更健壮,在这种情况下(一旦你包含了jquery库),你可以使用这样的东西
$(outputEl).load("change/ud1.php");
答案 2 :(得分:4)
所以 php只能在您的服务器上执行,并且JavaScript会在用户的浏览器上执行。
没有办法在JavaScript(浏览器)中运行php代码。所以你需要像这样使用ajax。
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
// server sent data successfully in this.responseText variable
document.getElementById("output1").innerHTML = this.responseText;
}
};
//Request data from a server
xhttp.open("GET", "path/to/php/include-script.php", true);
xhttp.send();
详细了解ajax here。
答案 3 :(得分:3)
您还可以使用jquery
在指定的html元素中加载php文件的内容。
$.get("path/to/yourfile.php", function(data, status){
outputEl.innerHTML = data;
});
答案 4 :(得分:2)
简单使用
SELECT id, upload_key
FROM product_data
WHERE (status = 0 or updated = 0) and uploaded_on is NULL;
同样传递此标题(&#34;内容类型:text / javascript&#34;);在php文件的顶部。
答案 5 :(得分:2)
This is not right approach. You should take html into a php variable and then use that PHP variable into JavaScript. If you are using MVC then its quite easy. I posted answer without using MVC :
$html = file_get_contents('path/to/YOUR/FILE.php');
In Javascript
var html = '<?php echo $html; ?>';
答案 6 :(得分:2)
你不能直接这样做。如果要以这种方式替换内容,可以使用以下两个选项
将AJAX请求发送到该文件,然后该文件将整个html作为success函数的数据参数发送,然后您可以在任何地方使用该数据。
或者您必须重定向到该页面,并且您希望将某些数据发送到该文件,然后您可以将其作为获取请求。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $.ajax({ type: "POST", url: "<?php include "./change/ud1.php"; ?>", //ensure URL is correct data: { }, //send some data if you want to that file or else remove this line dataType: "html", success: function(data) { if($.trim(data)) { $('#outputEl').html(data); } else { alert("Something went wrong!!"); } }, error: function() { alert("ERROR!"); } }); </script>
您可以执行第2步
<script>
window.location.href = "./change/ud1.php"; //And pass any parameters to that file if you wish as a GET request
</script>
如果您需要任何进一步的帮助,请告诉我
答案 7 :(得分:2)
单引号加双引号并尝试
答案 8 :(得分:1)
两种方式:
第一:
<script>
document.write('<?php echo include_once "./change/ud1.php";?>');
</script>
第二:
<script type="text/javascript" src="./change/ud1.php"></script>
答案 9 :(得分:1)
试试这个
$("#output1").load("change/ud1.php");
答案 10 :(得分:1)
PHP代码在服务器上呈现,您在客户端上使用Javascript,如果您不在服务器上,则无法呈现PHP。
答案 11 :(得分:1)
您无法执行此操作,因为 PHP 代码会在 JavaScript 之前呈现。有很多替代方法可以做到这一点:
如果 outputEl 是div元素的ID:
1-没有jQuery / JavaScript
<div id="outputEl"><?php include "./change/ud1.php";?></div>
2-使用jQuery加载功能
$("#outputEl").load('./change/ud1.php');
3-使用JavaScript功能
window.onload = function() {
if (XMLHttpRequest)
var x = new XMLHttpRequest();
else
var x = new ActiveXObject("Microsoft.XMLHTTP");
x.open("GET", "./change/ud1.php", true);
x.send();
x.onreadystatechange = function() {
if (x.readyState == 4) {
if (x.status == 200)
outputEl.innerHTML = x.responseText;
else
outputEl.innerHTML = "Error loading document";
}
}
}
答案 12 :(得分:-1)
这也会奏效。将此代码放在.php中,您可以将脚本放在.php
中<script type="text/javascript">
outputEl.innerHTML = "<?php include './change/ud1.php';?>";
</script>