2. 使用document.write输出代码,我等简洁主义者所不愿。
3. 最简单的方法是把js放到需要调用的父页面,那想这样的公用页面,每个地方调用都要写入一次,代码冗余。
4. eval是个解决方法,虽然低效。
5. 复杂的解决方法:正则匹配出加载页面中的所有js,为这些js创建同样多个<script>标签,把js内容插入即可执行。但使用中发现,firefox可行,但IE还是不从。(师太,您就从了吧~)
可以在jquery的ajax方法成功执行之后,执行相应的js代码例如:index.html 页面
<script language="javascript">
var id = 10
$.ajax({
url:'ajax.php?action=ok',
type:'post',
data:'id='+id,
async : false,
success: function(data){
//可以在这里执行相应的js代码
$("#user_id").val(data)
}
})
</script>
<input type="text" name="user" id="user_id" value="">
<input type="button" value="点击" onclick="check()">
ajax.php 处理页面
<?php
if($_GET['action'] == 'ok'){
$id = $_POST['id']
echo $id
}
?>
直接在success定义的回调方法中postStr()就可以了。但是要注意一点:var temp和postStr方法都必须放到js最底层,即直接放到<script>标签下,不要嵌套到其他方法中,不然可能会调用不到。