Javascript 使用ajax调用返回php值时出错

Javascript 使用ajax调用返回php值时出错,javascript,ajax,Javascript,Ajax,我有一个问题,我想使用ajax调用使用方法post发送数据,所以我非常喜欢: jQuery.noConflict(); jQuery(document).ready(function () { $("input#submit").click(function(){ $.ajax({ type: "POST", url: "ajax?uid="+<?php

我有一个问题,我想使用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>

非常奇怪,因为当我删除
fn和ln
并且只保留数字值时,它工作得非常好?

您需要将字符串值括在
'
中。。像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() ?>', // 
url:“ajax?uid=“++”fid=“++”+”fn=“++”+”ln=“++”,//
jQuery.ready()
是加载页面时触发的事件

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


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

@downvoter我错过了什么吗
url: "ajax?uid="+<?php echo   $sf_user->getGuardUser()->getId() ?>+"fid="+'<?php echo $user->getId() ?>'+"fn="+'<?php echo $user->getfirstName() ?>' +"ln="+'<?php echo $user->getlastName() ?>', //