Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用一些html加载Php脚本_Javascript_Php_Html - Fatal编程技术网

Javascript 用一些html加载Php脚本

Javascript 用一些html加载Php脚本,javascript,php,html,Javascript,Php,Html,我创建了一个HTML页面(index.HTML),用于加载PHP页面(page.PHP)的脚本: 我这里的问题是,我的PHP页面还包含一些HTML和Javascript。当index.HTML页面尝试加载php页面时,page.php的HTML似乎会出现问题: 未捕获语法错误:意外标记您的脚本试图将HTML放入标记中。这将导致分析错误。浏览器将尝试以javascript的形式评估标记中的内容。因此,是的,您应该将任何内联HTML转换为动态追加或插入DOM的字符串片段。如果您将page.php作为

我创建了一个HTML页面(index.HTML),用于加载PHP页面(page.PHP)的脚本:

我这里的问题是,我的PHP页面还包含一些HTML和Javascript。当
index.HTML
页面尝试加载php页面时,
page.php
的HTML似乎会出现问题:


未捕获语法错误:意外标记您的脚本试图将HTML放入标记中。这将导致分析错误。浏览器将尝试以javascript的形式评估标记中的内容。因此,是的,您应该将任何内联HTML转换为动态追加或插入DOM的字符串片段。

如果您将page.php作为Javascript文件加载,则page.php不能包含任何HTML。它必须都是JavaScript。您正在使用PHP创建javascript吗?如果没有,我将从page.php中取出javascript部分,并将其保存为自己的javascript文件。然后,您可以根据需要在page.php中引用它,并在html页面中加载js文件。

AJAX将页面加载到新的div元素中,提取每个标记并执行它,而不是尝试将整个页面作为脚本进行解析。下面是一个例子:

var-request=new-XMLHttpRequest();
//AJAX获取页面
请求。打开(“获取”,sUrl,true);
//设置页面加载的偶数处理程序
request.onload=函数(){
//将响应内容临时放置在活动div中
var tDiv=document.createElement(“div”);
tDiv.innerHTML=request.response;
//从放置内容的div中获取加载页面中的所有脚本
var scriptElems=tDiv.getElementsByTagName(“脚本”);
//遍历所有脚本
对于(var i=0;i
您需要将index.html重命名为index.php。@不,他没有。他正在从服务器加载PHP页面,这意味着它已经被解析了。问题是他将page.php作为javascript文件加载,但它也包含HTML,这将抛出javascript错误。@robert-oh。我以为他想把PHP代码放到html文件中。好的,我通过删除所有html解决了我的问题。这不是一个很好的“修复”,但可以。是的,我正在使用php创建Javascript,它在我的代码中非常复杂和难看。你的脚本不能输出任何HTML。它必须全部是JavaScript才能工作。这当然是可能的,我已经做过很多次了。如果我创建一个包含php页面的无显示DIV呢?我不知道脚本是否会被评估。此方法确保从加载的页面提取脚本,然后对其进行评估。您的解决方案看起来不错,但我的代码在php和javascript之间过于纠结,无法正常工作。什么?为什么呢这个脚本可以作为自己的
放到root.php文件中,并生成一个函数,当你有一个新的php文件需要加载到页面中时就可以调用。不幸的是,它对我不起作用。可能是因为脚本标记中有一些php。
    var DSLScript  = document.createElement("script");
    DSLScript.src  = sUrl;
    DSLScript.type = "text/javascript";
    document.body.appendChild(DSLScript);
    document.body.removeChild(DSLScript);