我有一个AJAX请求,它将返回一个包含一些HTML代码的字符串:
返回的值是一个非常大的字符串,如下所示:
</div></div>
<script type="text/javascript">
var bld=[{"stufe":7,"gid":"4","aid":"18"}]
</script>
<div id="map_details">< div class="movements">...
我需要的唯一部分是bld
标记内的变量<script>
。
我在我的脚本中使用jQuery,但是,因为evals
ajax响应中的每一段<script>
代码,我不得不使用另一个AJAX方法返回带有{{{ 1}}标签就可以了......
我认为这可能有两个解决方案:
如果jQuery AJAX函数<script>
是html响应中的脚本代码,我怎样才能访问该变量的值?
我已经尝试过,但evals
函数中的变量bld
未定义。
当我在html字符串中包含该值时,有没有办法使用javascript或jquery来获取ajax.success
标记内的变量?
答案 0 :(得分:3)
您需要将返回的数据加载到DOM中。然后它将被解析,javascript将运行,变量将在全局范围内。如果您不想看到所有其他内容,可以在隐藏的div中执行此操作。
success: function(data) {
$('#hiddendiv').html(data);
console.log(bld); // <== bld is eval'ed and in global scope
},
这不是你想要的吗?