当我使用脚本从使用ajax获取特定网址的内容时,我的HTML内容不会显示,即我的表格元素没有显示:我从指定网址获取数据,并在警报中显示框,并使用document.write
在页面上写入来自我调用的网址的数据:
<head>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.css" />
<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type:"POST",
url:"http://your url",
success: onSuccess,
error:onError
});
});
function onSuccess(data){
var servertext=data;
document.write(servertext);
alert(servertext);
}
function onError(data){
alert(data+'error');
}
</script>
</head>
<body>
<p> hello</p>
<table height="150px" weight="150px" border="1px">
<tr>
<td><img src="green.png" height="100px" width="100px" /></td>
</tr>
</table>
enter code here
答案 0 :(得分:5)
document.write
。如果你调用它,它将隐式调用document.open
,这会使页面空白并创建一个新文档。
答案 1 :(得分:1)
如果您的servertext
是html,请尝试以下操作:
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type:"POST",
url:"http://your url",
success: onSuccess,
error:onError
});
});
function onSuccess(data){
var servertext=data;
$("div#ajaxContent").html(servertext);
alert(servertext);
}
function onError(data){
alert(data+'error');
}
</script>
</head>
<body>
<p> heloo</p>
<table height="150px" weight="150px" border="1px">
<tr>
<td> <img src="green.png" height="100px" width="100px" /></td>
</tr>
</table>
<div id="ajaxContent"></div>
</body>
答案 2 :(得分:0)
不要使用document.write
,因为它不会起作用和错误。
相反,在HTML中添加一些占位符元素,然后分配响应:
document.getElementById("myplaceholder").innerHTML = servertext;
这会将响应放在元素中定义为:
<div id="myplaceholder"></div>
另请注意,您只能将请求发送到与其中包含AJAX代码的页面相同的域下的页面。 (Same Origin Policy)