我正在创建一个简单的ajax调用,该调用检索指定url的内容并将其写入页面。我遇到的问题是它用此信息替换了整个体内的内容
这是JS:
(function(){
var mb = window.mb = {};
function get_ad(url, parameters){
var result = "";
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
var avers = ["Microsoft.XmlHttp", "MSXML2.XmlHttp", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.5.0"];
for (var i = avers.length -1; i >= 0; i--) {
try {
http_request = new ActiveXObject(avers[i]);
if (http_request){
break;
}
} catch(e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = function(){
if (http_request.readyState == 4) {
if (http_request.status == 200) {
gen_output(http_request.responseText);
} else {
alert('Error');
}
}
}
http_request.open('GET', url + parameters, true);
http_request.send(null);
}
function gen_output(ad_content){
document.write("<div id=\"mb_ad\">");
document.write(ad_content);
document.write("</div>");
}
get_ad("http://localhost/test/test.html", "");
})();
这是HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
i am text before <br/>
<script type="text/javascript" src="mb.js"></script>
<br />
i am text after
</body>
</html>
使用萤火虫进行检查,我看不到<div id="mb_ad">
test.html页之前和之后的内容。如果我删除ajax调用,只执行3,document.writes
则之前的文本和之后的文本将正确显示。jQuery不是一个选择,我必须在没有大型库帮助的情况下执行此操作,因为大小和速度至关重要。
document.write
文档加载完成后,您将无法使用。如果这样做,浏览器将打开一个新文档,以替换当前文档。
使用该innerHTML
属性将HTML代码放入元素中:
function gen_output(ad_content){
document.getElementById('mb_ad').innerHTML = ad_content;
}
将元素放在脚本之前,以确保在调用回调函数时该元素存在:
i am text before
<div id="mb_ad"></div>
i am text after
<script type="text/javascript" src="mb.js"></script>
放置脚本的位置无关紧要,因为不会将任何内容写入到文档中。
有一个sed命令 目前是使用了其他分隔符还不能避免需要替换的字符含有特殊字符。 有没有屏蔽正则的用法,不要认为给到的字符串是正则表达式。 我的代码 1.旧内容 2.新内容
问题内容: 我有一个带有对话框窗口的页面,该页面将ajax发布数据发送到服务器并接收响应。在开发过程中,可能有两种响应- 一种常规(这不是问题)或一种有错误。服务器返回代码500和包含大量调试信息的页面。这是从框架返回的常规页面,其中包含一些javascript代码。我希望能够显示此错误页面,以防万一。 问题是,我不能简单地将返回的结果附加到body元素或在新页面中打开新链接并再次加载此错误。我只
我尝试将NSString转换为NSURL,但收到的URL被截断。 如果我将NSLog music.url设置为: /Users/Nikita/Library/Developer/CoreSimulator/Devices/D93FE148-7F72-43BB-A545-06D76C71300B/Data/Containers/Data/Application/48BC6629-F054-4679-
问题内容: 所有特定字母(例如“ A”)都需要替换为所有括号。 例如, 我想将圆括号中的所有“ A”替换为“,以使最终结果如下: 有可能仅在正则表达式中执行此操作吗? 问题答案: 对于这种情况,有一个通用的解决方法-不应存在不平衡/嵌套的括号(按原样)。您寻找在圆括号后没有匹配圆括号的: 现场演示 Python代码:
如何替换所有标签