Nor*_*man 0 javascript ajax jquery
我正在使用ajax加载reCaptcha.从其他页面返回的内容中的一行是下面的行,div当我使用时,该行不会被加载到我的行中$(.cap).html(callBack);
这就是这条线
<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n"></script>
这是jQuery不允许的吗?或者我做错了什么?我怎么解决这个问题?如何将jquery从另一个页面返回到我的<div>?
我正在测试的是,很简单:
<!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>
Run Code Online (Sandbox Code Playgroud)
这是从其他页面返回的行不会被加载到div.
<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n"></script>
返回的整个数据
<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6LcXq-oSAAAAAOgwSIew_xq6xkv1QUxrZbRcMz6n"></script>
<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>
Run Code Online (Sandbox Code Playgroud)
即使是字符串格式,也无法返回"脚本"标记.这是因为javascript的工作方式.但是你可以让你的demo.php脚本返回json.你应该自己看看,但我不相信有另一种方法可以轻松地做到这一点.(好吧,更糟糕的做法,你可以只返回一个字符串并解析它的值但是......).无论如何,如果你假设你以下列格式返回一个json对象,你可以复制粘贴你的成功函数中的其余对象并将对象名称改为'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');
Run Code Online (Sandbox Code Playgroud)
jsFiddle:http://jsfiddle.net/vT3Ug/1/