是否可以使用AJAX调用执行Javascript或在Javascript中调用特定函数。
我能够显示Javascript文件的内容,例如“http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first”,但无法执行javascript。
有什么办法吗?其实我是新手AJAX
答案 0 :(得分:5)
Ajax可以让你做两件事:
其他任何事情围绕发生。
例如,如果您在服务器上运行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?