来自Ajax的javascript无法运行 [英] javascript from ajax won't run
问题描述
我有一个页面被暂停,但是文档就绪代码无法运行.我正在IE7中运行.我没有收到任何警报,但是页面在这里"显示正常.方法"ajax"是我编写的一种实用程序方法.我所有的ajax调用都可以正常工作,所以我知道这不是问题.我只是无法运行我的JavaScript.为什么我的JavaScript无法运行?
I have a page being ajaxed in, but the document ready code will not run. I'm running in IE7. I get no alert, but "Page is here" shows fine. The method "ajax" is a utility method I wrote. It works fine for all my ajax calls, so I know that's not the issue. I just can't get my javascript to run. Why would my javascript not be running?
AJAX页面
<script src="Utilities/Javascript/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
alert("RUN PLEASE");
</script>
Page is here
主页
<html>
<head>
<script src="Utilities/Javascript/Utilities.js"></script>
<script src="Utilities/Javascript/jquery-1.7.1.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function () {
ajax("scrolltest.aspx", "divy2");
});
</script>
<div id="divy2">
</div>
</body>
</html>
Utilities.js中的
ajax方法
ajax method from Utilities.js
/*
* Ajax page loads with url and updates element's innerHtml
* @param url : URL to call for ajax page load
* @param element : Element ID to be updated
*/
function ajax(url, element) {
var ajx;
if (window.HXMLHttpRequest) {
ajx = new XMLHttpRequest();
}
else {
ajx = new ActiveXObject("Microsoft.XMLHTTP");
}
ajx.open("GET", url, true);
ajx.setRequestHeader("X-Requested-With", "XMLHttpRequest");
ajx.onreadystatechange = function () {
if (ajx.readyState == 4 && ajx.status == 200) {
document.getElementById(element).innerHTML = ajx.responseText;
}
else if (ajx.readyState == 4 && ajx.status == 400) {
alert("Page Error. Please refresh and try again.");
}
else if (ajx.readyState == 4 && ajx.status == 500) {
alert("Server Error. Please refresh and try again.");
}
else if (ajx.readyState == 4) {
alert(ajx.status + ":" + ajx.statusText);
}
}
ajx.send();
}
推荐答案
除非您调用eval,否则将不会处理来自"AJAX"请求的Javascript-这实际上不是最好的主意
Javascript from an "AJAX" request will not be processed unless you call eval on it - which is not really the best idea
编辑此答案有点太简短-有多种方法可以执行本机强制执行-请参阅此更详细和类似的问题/答案
edit this answer is a little too brief - there are ways to native force execution - refer to this more detailed and similar question / answer
如何强制Javascript在对Ajax请求的HTML响应中执行
这篇关于来自Ajax的javascript无法运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!