如何从responseText中获取javascript代码
how do you get javascript code from the responseText?
如何将javascript代码传递到responseText?例如使用php:
<?php
echo "<script language='javascript'>
for(i=0;i<3;i++){
document.write(i);
}
</script>
";
?>
// output: 012
//and if you pass the php above into this responseText
document.getElementById('someId').innerHTML = xmlHTTPobj.responseText;
// there is no output
这段代码已经在没有ajax(仅php)的情况下进行了测试,并且它按预期打印,但如果将此php传递给responseText则不是。
PS:没有打字错误,没有语法错误,浏览器是:ff4 + firebug 1.7, IE8, chrome 10, opera 10,我只是想知道如何将javascript代码传递到responseText?
编辑:PPS:请随意回答这个问题。或者这意味着你不能传递javascript代码到responseText?
这是未经测试的,直接为我(可能有缺陷)的内存,但我认为你需要eval()任何javascript为它执行像这样。然后你只需要发送回没有脚本标签的javascript。据我所知(这通常是由框架处理的),这正是我们使用JSON
我的应用程序也有这个问题。我不确定我是如何解决的,但我不得不改变我的JS库(一个非常旧的Mootools)。(从http://hotblocks.nl/js/mootools_1_11.js上的第3215行开始)
有些浏览器在javascript插入DOM时执行,有些浏览器在它被接收(Ajax调用完成)时执行,有些浏览器从不执行。因此,Mootools的解决方案是对<script>
块进行正则化,分别求值内容,替换<script>
块(保留它们,但为空),然后执行完整的处理程序。
我将试着设置一个小测试来说明这一点。
编辑
我找到了这个示例jsfiddle: http://jsfiddle.net/zalun/NF2jz/
它使用Mootools的Request.HTML: http://jsfiddle.net/js/lib/mootools-1.2.5-core-json-fixed.js
这部分完成了我上面所说的:
success: function(text){
var options = this.options, response = this.response;
response.html = text.stripScripts(function(script){
response.javascript = script;
});
...
- 从ajax请求中获取javascript对象
- 以同步方式获取Javascript Promise的值
- 获取javascript中的公钥格式
- 获取javascript函数中的按钮名称
- 如何在C#中获取Javascript变量值
- 从其名称获取javascript数组对象
- 如何从Selenium获取JavaScript值
- 如何获取javascript输入并在html中调用它
- 获取javascript函数中另一个javascript函数的响应
- 获取javascript中输入元素的索引
- 获取javascript中json_encoded数组的元素
- 在ajax请求中使用jquery获取javascript响应UJS
- 获取Javascript中单选按钮的true或false
- 获取javascript中的元数据属性
- 获取Javascript中DOM元素的screenX
- 如何在事件处理程序中获取 javascript 事件对象
- 使用 JQuery 从表单中获取 javascript 多维数组
- 获取 JavaScript 中复选框的值
- 如何从函数名称中获取JavaScript的源代码
- VBA中有没有一种方法可以获取javascript生成的元素