使用AJAX调用执行Javascript

时间:2015-12-17 11:31:39

标签: javascript ajax

是否可以使用AJAX调用执行Javascript或在Javascript中调用特定函数。

我能够显示Javascript文件的内容,例如“http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first”,但无法执行javascript。

有什么办法吗?其实我是新手AJAX

2 个答案:

答案 0 :(得分:5)

Ajax可以让你做两件事:

  1. 向服务器发出请求
  2. 阅读您收到的回复
  3. 其他任何事情围绕发生。

    例如,如果您在服务器上运行NodeJS,那么HTTP请求将触发一些服务器端JavaScript。

    如果你从服务器上获得了JavaScript,那么你就可以在一个字符串中使用它,你可以随心所欲地做任何事情(包括通过eval()传递它)。

    一般来说,从服务器那里获取新的JS是个坏主意。最好先将JavaScript加载到您的网页中,然后根据从服务器返回的数据触发它。

答案 1 :(得分:4)

如果我理解正确,这里的情况是 服务器正在返回一些javascript代码,你想评估它。

您可以使用here所述的eval()功能。

在您提供的example中,它将类似于:

var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
      eval(xhttp.responseText);
    }
  };
  xhttp.open("GET", "ajax_info.txt", true);
  xhttp.send();

但是你应该小心,因为使用eval并不总是一个好主意。 请参阅此问题:Why is eval a bad idea?