ajax中执行服务器返回的js脚本

前端之家收集整理的这篇文章主要介绍了ajax中执行服务器返回的js脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在ajax的回调函数中,先获取js脚本的值,赋值到页面的某一个控件,比如一个div,如:

  1. document.getElementById("uccenter").innerHTML=data.ucString; //赋值给id为uccenter的div

然后获取此div中的script对象,如:

  1. var myDivScript = document.getElementById("uccenter").getElementsByTagName("script").item(0);

再创建一个新的script对象,因为只有新的对象页面才会执行

  1. var newScript = document.createElement("script");

把js脚本的属性值赋值给新的script对象

  1. newScript.setAttribute("src",myDivScript.getAttribute("src"));
  2. newScript.setAttribute("reload",myDivScript.getAttribute("reload"));
  3. newScript.innerHTML = myDivScript.innerHTML;
最后,添加心script对象到页面
  1. document.getElementsByTagName("HEAD").item(0).appendChild(newScript);

  1. // 用户注册完成回调函数001
  2. function loginSuccessAjaxCallback(data){
  3. if(null == data.resultString || "" == data.resultString)
  4. {
  5. if(null != data.ucString || "" != data.ucString)
  6. {
  7. document.getElementById("uccenter").innerHTML=data.ucString;
  8. var myDivScript = document.getElementById("uccenter").getElementsByTagName("script").item(0);
  9. var myDivScript2 = document.getElementById("uccenter").getElementsByTagName("script").item(1);
  10. var newScript = document.createElement("script");
  11. var newScript2 = document.createElement("script");
  12. newScript.setAttribute("src",myDivScript.getAttribute("reload"));
  13. newScript.innerHTML = myDivScript.innerHTML;
  14. newScript2.setAttribute("src",myDivScript2.getAttribute("src"));
  15. newScript2.setAttribute("reload",myDivScript2.getAttribute("reload"));
  16. newScript2.innerHTML = myDivScript2.innerHTML;
  17. document.getElementsByTagName("HEAD").item(0).appendChild(newScript);
  18. document.getElementsByTagName("HEAD").item(0).appendChild(newScript2);
  19. }
  20. window.location.reload();
  21. }
  22. else
  23. {
  24. $('#loginResuleMessage').html(data.resultString);
  25. }
  26. }

这里的js脚本形如:


  1. <script type="text/javascript" src="http://localhost/bbs/api/uc.PHP?time=1388937248&code=ae28TF01utAnYLk0%2BhVarCC0mO8hxTN7K7JoPAHmkHN3sX1OQBv6IExLuUA66n78X%2B8mSnvDpAThuBSOm3ph9NqKHJbn3gMQ5W%2Bmyn%2BbFwYQ8zMaIV5BXhpYzoR0Hx0a6Qa02e0gcNH%2B2ROVk8MF4Ms8CUFeyBMVuBahxbCeaQ" reload="1"></script><script type="text/javascript" src="http://localhost:8080/yxw/api/uc.PHP?time=1388937248&code=1752B0%2FcsBy%2FZkYV0Hf2cxoxk5tx2IK4CwhYqVRbvuzcqL051vFGWmq5E0vaJw7tIXqDZb%2BEAtgPPNkgten9owDk%2FXu%2B5YRJ8XBT6tjlHery2BtZPNjlUyZKBtamHs6%2FLEUPTciQqB5vuxjW0%2F1ib%2FTqpZL8CweG%2FPkgFiZ41Q" reload="1"></script>

猜你在找的Ajax相关文章