所以说我想导入(使用ajax)一个包含一些原始html和一个java脚本的脚本:
<p>To comment, please first prove that you are human being</p>
<form method='post' action='../recapatcha_verify.php'>
<script type="text/javascript"
src="http://www.google.com/recaptcha/api/challenge?k=your_public_key">
</script>
<input type='submit'/>
</form>
以下功能有什么问题吗?
function comments(file, id, fs, pn, ln)
{
$("div#commentWrapper").show(function(){
$.ajax({
url: "../commentfiles/" + file,
pid: id,
fs: fs,
pn: pn,
ln: ln,
dataType: script,
success: function(txt)
{
$("div#commentWindow").html(txt);
}
});
});
}
pid
fs
pn
和ln
应该是网址中的参数。这在我使用$.get
方法时有效,但在$ .ajax中它的工作方式是否相同?
我将数据类型设置为“script”,以便识别javascript。但这是对的吗?我不确定我知道自己在做什么。
感谢您的帮助
答案 0 :(得分:0)
要回答您的一个问题,不,$.ajax
不会采用与$.get
相同的参数。要发送参数,您必须使用data
:
$.ajax({
...
data: {param1: 1, param2: 2, param3: 3},
...
});
其次,现在您将dataType
设置为名为script
的变量的值。您必须将其设置为字符串script
:
$.ajax({
...
dataType: 'script',
...
});
其他一些事情:
GET
明确指定type: 'GET'
请求。script
是错误的数据类型。 (script
将尝试将HTML评估为JavaScript,这将无效).html
确实会插入script
标记,但不会执行它。要使其执行,您必须删除然后重新插入script
标记。