1

我正在按照本教程使用 Javascript 加载文件。我已经按照教程进行操作,没有加载文件。这是我的代码:

<script type="application/javascript"
        src="http://server2.example.com/Users/1234">
</script>

现在在本教程(这里)它说它应该将文件加载到一个 div 中。你们知道发生了什么吗?

4

2 回答 2

1

加载 JSON

您提到的“教程”是 JSON 上的 Wiki 页面。您提供的代码行是从该页面完全复制的,如果您正确阅读了内容,那么它不是在谈论从 javascript 加载HTML文件,而是从 Javascript 加载JSON 数据

事实上,该页面明确表示这种方法不能让您访问 JSON 数据,因为它没有被分配做任何事情,即使它确实将数据作为对象加载,您也没有指向该对象的指针!

相反,同一页面建议使用类似

<script type="application/javascript"
      src="http://server2.example.com/Users/1234?jsonp=parseResponse">
</script>

以便您可以将函数parseResponse与数据一起使用。

加载 HTML

由于您想加载一些额外的 HTML,因此在加载页面后,您应该执行以下操作:

示例代码:(部分从我给你的页面复制)

<script type="text/javascript">
  function loadXMLDoc(filename) {
    var xmlhttp;
    if (window.XMLHttpRequest)  {
      xmlhttp=new XMLHttpRequest();
    }
    else {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        after_load_function(xmlhttp.responseText);
      }
    }
    xmlhttp.open("GET",filename,true);
    xmlhttp.send();
    }

    function after_load_function(responseText) {
      document.getElementById("myDiv").innerHTML = responseText;
    }

    window.onload = function() {
      loadXMLDoc("your_html_filename.html");
    }
</script>
于 2013-09-25T04:44:22.020 回答
0

您可以使用 jqueryajaxget函数从给定的 url 获取数据并将该数据打印到给定的 div

<script type="application/javascript">
$.get( "http://server2.example.com/Users/1234?jsonp=parseResponse"
       ,function( data ) {
                        $( "body" ).append( "Name: " + data.name ) // John
                        .append( "Time: " + data.time ); //  2pm
                        }
       ,"json" );
</script>

有关更多详细信息,请参阅此链接Jquery.get()

于 2013-09-25T05:11:03.287 回答