0

我有一个问题,我想使用 ajax 调用的方法 post 发送数据,所以我喜欢这样:

       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并只保留数字值时它工作得很好?

4

2 回答 2

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() ?>', // 
于 2013-07-08T04:04:40.083 回答
0

jQuery.ready()是在页面加载时触发的事件。

因此,只有访问 DOM 的代码才应该在准备好的处理程序中。如果它是一个插件,它不应该出现在 ready 事件中。

因此,不要将您的 ajax 调用放在 ready 函数中。

于 2013-07-08T08:08:56.540 回答