Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何添加<;脚本></脚本>;在使用jQueryAjax时,是否与从另一个页面返回的其他数据一起使用?_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何添加<;脚本></脚本>;在使用jQueryAjax时,是否与从另一个页面返回的其他数据一起使用?

Javascript 如何添加<;脚本></脚本>;在使用jQueryAjax时,是否与从另一个页面返回的其他数据一起使用?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在使用ajax加载reCaptcha。从其他页面返回的其中一行是下面的一行,当我使用$(.cap.html(回调)时,该行不会加载到我的div 这是一条线 这是jQuery不允许的吗?还是我做错了什么?我怎样才能解决这个问题?如何将jquery从另一个页面返回到我的 我测试的内容很简单: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;

我正在使用ajax加载reCaptcha。从其他页面返回的其中一行是下面的一行,当我使用
$(.cap.html(回调)时,该行不会加载到我的
div

这是一条线

这是jQuery不允许的吗?还是我做错了什么?我怎样才能解决这个问题?如何将jquery从另一个页面返回到我的

我测试的内容很简单:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>No Tile</title>

<script type="text/javascript" src="http://localhost/site/scripts/jQuery.js"></script>

<style type="text/css">
.user {
    cursor: pointer;
}
</style>

<script type="text/javascript">
$(document).ready(function() {
    //$(".user").live("click",function() {
    $(".user").click(function() {

        data = "id=Hello"

        $.ajax({
              type:"GET",
               url:"demo.php",
              data:data,
          dataType:"html",

        beforeSend:function(html){

        },

        success: function(callBack){
            $(".cap").html(callBack);

            console.log(callBack);
        },

        error: function(page_data){

        },

        });

    });
});
</script>
</head>
<body>

<div id="container">

<div class="cap">Hello</div>

<span class="user">Add User</span>
</div>

</body>
</html>

即使是字符串格式,也无法返回“脚本”标记。这是因为javascript的工作方式。但是,您可以让demo.php脚本返回json。你应该自己查一下,但我不相信有其他方法可以轻松做到这一点。 (更糟糕的做法是,您可以返回一个字符串并解析其中的值,但是…)。无论如何,如果您假设您以以下格式返回一个json对象,那么您只需将其余的复制粘贴到success函数中,并将对象名称更改为“callback”

var json = {
    type: "text/javascript",
    scriptSrc: "http://www.google.com/recaptcha/api/challenge?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n",
    id: "theFrame",
    iframeSrc: 'http://www.google.com/recaptcha/api/noscript?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n'
};

var script = document.createElement('script');
script.type = json.type;
script.src = json.scriptSrc;

$('<iframe>', {
   src: json.iframeSrc,
   id:  json.id,
   frameborder: 0,
    height: 300,
    width: 500
   }).appendTo('.cap');
var json={
键入:“text/javascript”,
scriptSrc:“http://www.google.com/recaptcha/api/challenge?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1qrzbrcmz6n“,
id:“帧”,
iframeSrc:'http://www.google.com/recaptcha/api/noscript?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1qrzbrcmz6n'
};
var script=document.createElement('script');
script.type=json.type;
script.src=json.scriptSrc;
$('', {
src:json.iframeSrc,
id:json.id,
帧边框:0,
身高:300,
宽度:500
}).附于(“.cap”);

jsfdle:

即使是字符串格式,也不可能返回“script”标记。这是因为javascript的工作方式。但是,您可以让demo.php脚本返回json。你应该自己查一下,但我不相信有其他方法可以轻松做到这一点。 (更糟糕的做法是,您可以返回一个字符串并解析其中的值,但是…)。无论如何,如果您假设您以以下格式返回一个json对象,那么您只需将其余的复制粘贴到success函数中,并将对象名称更改为“callback”

var json = {
    type: "text/javascript",
    scriptSrc: "http://www.google.com/recaptcha/api/challenge?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n",
    id: "theFrame",
    iframeSrc: 'http://www.google.com/recaptcha/api/noscript?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n'
};

var script = document.createElement('script');
script.type = json.type;
script.src = json.scriptSrc;

$('<iframe>', {
   src: json.iframeSrc,
   id:  json.id,
   frameborder: 0,
    height: 300,
    width: 500
   }).appendTo('.cap');
var json={
键入:“text/javascript”,
scriptSrc:“http://www.google.com/recaptcha/api/challenge?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1qrzbrcmz6n“,
id:“帧”,
iframeSrc:'http://www.google.com/recaptcha/api/noscript?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1qrzbrcmz6n'
};
var script=document.createElement('script');
script.type=json.type;
script.src=json.scriptSrc;
$('', {
src:json.iframeSrc,
id:json.id,
帧边框:0,
身高:300,
宽度:500
}).附于(“.cap”);

jsiddle:

事实上,可以呈现javascript标记。e、 html5 boilertemplate使用它来查看是从本地还是从CDN加载jQuery

<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
window.jQuery | | document.write(“”)
如您所见,如果插入脚本标记,则需要转义结束脚本标记

另一方面,你不能这样做

<noscript>
    <iframe src="http://www.google.com/recaptcha/api/noscript?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n" 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>


仅仅因为您不拥有iframe源,您的iframe将不会被渲染

但你可以这样做:

callBack = callBack.replace('</script','<\/script')
                   .replace('<noscript>','')
                   .replace('</noscript>','');

$('body').append(callback);

callBack=callBack.replace(“它实际上可以呈现javascript标记。例如,html5 boilertemplate使用它来查看是应该从本地还是从CDN加载jQuery

<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
window.jQuery | | document.write(“”)
如您所见,如果插入脚本标记,则需要转义结束脚本标记

另一方面,你不能这样做

<noscript>
    <iframe src="http://www.google.com/recaptcha/api/noscript?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n" 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>


仅仅因为您不拥有iframe源,您的iframe将不会被渲染

但你可以这样做:

callBack = callBack.replace('</script','<\/script')
                   .replace('<noscript>','')
                   .replace('</noscript>','');

$('body').append(callback);

callBack=callBack.replace('$(“head”).append(回调);@Riturajratan,即使我上面提到的那行没有附加。这是不可能的。但是,有一个可能的解决方案,请查看前一篇文章:@Tsasken,你知道在使用此页面上的解决方案后如何添加a和其他内容吗?整个内容都在我的问题中的编辑中。$(“head”)。附加(回调);@Riturajratan即使我上面提到的行没有附加。这不可能是你正在尝试的方式。有一个可能的解决方案,但是,请查看之前的帖子:@Tsasken你知道如何在使用此页面上的解决方案后添加a和其他内容吗?我的问题是,整个事情都在编辑中。