我有一个问题,我想使用方法帖子使用ajax调用发送数据,所以我喜欢这样:
jQuery.noConflict();
jQuery(document).ready(function () {
$("input#submit").click(function(){
$.ajax({
type: "POST",
url: "ajax?uid="+<?php echo $sf_user->getGuardUser()->getId() ?>+"fid="+<?php echo $user->getId() ?>+"fn="+<?php echo $user->getfirstName() ?> +"ln="+<?php echo $user->getlastName() ?>, //
data: $('form.contact').serialize(),
success: function(msg){
$("#thanks").html(msg)
$("#form-content").modal('hide');
},
error: function(){
alert("Something is wrong!");
}
});
});
});
</script>
但它似乎对我不起作用,我得到了这个奇怪的错误:
ReferenceError: Jean is not defined url: "ajax?uid="+1+"fid="+13+"fn="+Jean +"ln="+paul, //
非常奇怪,因为当我删除fn and ln
并且我只保留数字值时效果非常好?
答案 0 :(得分:1)
您需要将字符串值括在''
中。像Jean这样的值是一个字符串值,因此需要将其括在''
中,否则它将被视为变量并在执行期间当它被查找时,js引擎将找不到它导致所述错误。
url: "ajax?uid="+<?php echo $sf_user->getGuardUser()->getId() ?>+"fid="+'<?php echo $user->getId() ?>'+"fn="+'<?php echo $user->getfirstName() ?>' +"ln="+'<?php echo $user->getlastName() ?>', //
答案 1 :(得分:0)
jQuery.ready()
是一个在加载页面时触发的事件。
因此,只有访问DOM的代码才应该处于就绪处理程序中。如果它是一个插件,它不应该在准备好的事件中。
因此,请不要将ajax调用放在就绪函数中。