微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么通过ajax加载后javascript无法工作?

我有一个带有此脚本的主页,用于将status.html加载到我的info-Box_main div中

window.onload = ajax_req('scripts/home/PHP/status.html', 'info-Box_main');

加载的status.html文件如下所示.

<div id="status_update">
    <form id="status_form" method="post" action="/scripts/home/PHP/statusUpdate.PHP/">
        <textarea name="status_update" placeholder="Type Link update here. " id="status_field" ></textarea>
        <input type='submit' value='post'/>
    </form>
</div>

<div id='status-Box'>
    <button onclick="myFunction('Harry Potter','Wizard')">Try it</button>

    <script>
        function myFunction(name,job){
            alert("Welcome " + name + ", the " + job);
        }
    </script>
</div>

ajax_req函数

function ajax_req(file_location, document_element)
{
var xmlhttp;

if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }                                 //ajax update request
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById(document_element).innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET",  file_location ,true);
xmlhttp.send();
}

除了javascript之外,其他一切都正常.我收到一个错误消息,当我尝试单击该按钮时,该函数未定义.任何帮助都是极好的!这只是测试javascript …不是我需要的实际javascript

解决方法:

将元素的innerHTML属性设置为包含< script>标签不会在我所知道的任何浏览器中运行脚本内容.

如果确实使用jQuery,则绝对没有理由编写自己的Ajax工具,并且jQuery .load()方法将为您处理脚本内容.

$('#info-Box_main').load('scripts/home/PHP/status.html');

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐