在AJAX请求的文件中包含一个文件

时间:2015-03-30 00:03:17

标签: jquery ajax

是否可以在AJAX请求的文件中包含文件? 是否可以在AJAX请求的文件中运行php或JavaScript脚本?

此代码适用于index.php文件

        <div id="test">
    <script>
        $("#test").load("web_elements/nihongo/price_list_kumagai.inc"); 
    </script>
    </div> <!--<div id="test"> -->

当我在AJAX请求的文件中尝试相同的代码时,它不包含该文件。 在包含的文件中,我似乎无法运行任何脚本(不是JavaScript,而不是php)HTML正确解析。

当我通过AJAX请求此文件时

    <h3>Price list</h3>

<script>
alert( "You are running jQuery version: " + $.fn.jquery );
</script>

<p>
幼稚園<br>
</p>

HTML正常显示,但标签内的所有内容都会被忽略。

导航

<a href="#" onclick="loadXMLDoc(language, '/home.inc')">ホーム</a>

LoadXMLDoc函数

    <script>
function loadXMLDoc(language, pageString)
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("page_content").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET",language+pageString, true);
xmlhttp.send();
}
</script>

LoadXMLDoc函数在我使用JQuery之前。也许我应该用JQuery库中的load()替换它。

1 个答案:

答案 0 :(得分:1)

您可以使用jQuery.getScript()

添加外部js文件
  

使用GET HTTP请求从服务器加载JavaScript文件,然后执行它。

这是一个简写的Ajax函数,相当于:

$.ajax({
    url: url,
    dataType: "script",
    success: success
});

Reference

您还可以使用.load()方法


您的代码正常运行并在我删除时加载脚本 document.getElementById("test").innerHTML=language;行:

price_list_kumagai.inc

<body>
    <h3>Price list</h3>
    <script>
        alert( "You are running jQuery version: " + $.fn.jquery );
    </script>
    <p>
        幼稚園<br>
    </p>
</body>

ajax加载

<div id="test">
    <script>
        $("#test").load("web_elements/nihongo/price_list_kumagai.php"); 
    </script>
</div>