ajax执行脚本
ajax execute script
好吧,我想我已经接近了,但事情仍然不起作用:
我有以下功能
function showRecaptcha()
{
alert("test2");
$.getScript("/plaoul/commentfiles/recaptchaJS.php", function(data, textStatus, jqxhr) {
console.log(data); //data returned
console.log(textStatus); //success
console.log(jqxhr.status); //200
console.log('Load was performed.');
});
}
该函数应该调用以下javascript:http://www.jeffreycwitt.com/plaoul/commentfiles/recaptchaJS.php
(可以随意查看此页面——它在这里工作得很好,但当我通过ajax调用它时就不行了)
这是一个javascript,在执行时显示repatcha表单。
到目前为止,控制台日志返回以下内容:
<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6LfDj8gSAAAAAG53PTtr-1665awLtERThvylvnUY"></script>
<noscript>
<iframe src="http://www.google.com/recaptcha/api/noscript?k=6LfDj8gSAAAAAG53PTtr-1665awLtERThvylvnUY" height="300" width="500" frameborder="0"></iframe><br/>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
</noscript>
comment_navbar_jsfunctions.js:129success
comment_navbar_jsfunctions.js:130200
comment_navbar_jsfunctions.js:131Load was performed.
但我希望<script>
在我的页面div#commentWindow上的div中实际显示为recpatcha图像。一旦我有了使用getScript
的脚本,我就不知道如何让脚本显示在div#commentWindow中。你能帮我吗?
由于您是通过AJAX获取此HTML的,因此不必担心<noscript>
。所以你可以这样做:
//get plain-text from local PHP file
$.get('/plaoul/commentfiles/recaptchaJS.php', function (response) {
//get the source of the `<script>` element in the server response
var source = $(response).filter('script')[0].src,
script = document.createElement('script');
//set the type of our new `<script>` element and set it to `async = true`
script.type = 'text/javascript';
script.async = true;
//set the source of the new `<script>` element to the one in the server response
script.src = source;
//add the new `<script>` element to the DOM
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(script, s);
});
您可能会注意到,其中一些代码来自Google分析异步跟踪代码(创建新<script>
元素的部分)。
所以您只想获取该PHP文件的输出并将其呈现到页面上?
你试过$('#commentWindow').load('/plaoul/commentfiles/recaptchaJS.php');
吗
编辑--对不起,应该是.load
。http://api.jquery.com/load/
相关文章:
- 在服务器端脚本执行后关闭选项卡
- 脚本执行多次
- 根据屏幕大小阻止脚本执行
- 检测TAB键并使脚本执行成为条件
- 脚本执行,但代码隐藏不执行
- 如何使用应用程序脚本执行API从谷歌工作表中提取数据
- 为什么设置window.location.htm不会停止脚本执行
- document.write(“anything”) 不会在 Internet Explorer 中作为外部脚本执行
- Extjs4 和 IE8 :选项卡上的 beforeclose 事件会抛出“无法从释放的脚本执行代码”
- 具有 asyc 属性的脚本仍会阻止其他脚本执行
- 如何在特定行暂停 JS 脚本执行
- JavaScript - 在高负载脚本执行之前绘制 html-mask
- 重新加载 Chrome 扩展程序内容脚本执行环境
- 将脚本执行保留在新打开的页面中
- 在脚本执行结束时关闭弹出窗口
- JavaScript 脚本执行时间太长.获取脚本需要太长时间提示
- 为什么 url 中的“#”会阻止 jquery 脚本执行
- 脚本执行两次,但时间戳相同
- Javascript setTimeout 会停止其他脚本执行吗?
- jQuery 在单击事件中的 if 条件后停止脚本执行