如何使用AJAX调用传递变量?

如何使用AJAX调用传递变量?,ajax,post,Ajax,Post,以下是我的JS代码: function info(){ $.ajax({ type:'POST', url:'doSomething.php', data:'text='+encodeURIComponent($('.text').html()) +'&info1='+encodeURIComponent($('.info1').html()) +'&info2='+en

以下是我的JS代码:

   function info(){
    $.ajax({
        type:'POST',
        url:'doSomething.php',
        data:'text='+encodeURIComponent($('.text').html())
            +'&info1='+encodeURIComponent($('.info1').html())
            +'&info2='+encodeURIComponent($('.info2').html())
            +'&info3='+encodeURIComponent($('.info3').html())
            +'&var1='+$('#var1').val()
            +'&var2='+$('#var2').val()
            +'&var3='+$('#var3').val(),
        success:function(){$('.action').fadeIn(500).delay(1000).fadeOut(500)}
    });
    //alert("info - did something, great!");
    return false;
    };
一切正常,并传递给doSomething.php脚本;除了:

  • var1 var2 var3

    谁能告诉我为什么? 以上JS或我的PHP是否存在问题:

我是阿贾克斯的新手谢谢你的帮助

这样做:

 data:{prop11:'some value',prop2:'someVal2'}

我不确定您想如何使用
$var1$var2$var3
变量, 但你似乎想这样使用它:

  function info(){
    $.ajax({
        type:'POST',
        url:'doSomething.php',
        data:'text='+encodeURIComponent($('.text').html())
            +'&info1='+encodeURIComponent($('.info1').html())
            +'&info2='+encodeURIComponent($('.info2').html())
            +'&info3='+encodeURIComponent($('.info3').html())
            +'&var1='+$var1
            +'&var2='+$var2
            +'&var3='+$var3,
        success:function(){$('.action').fadeIn(500).delay(1000).fadeOut(500)}
    });
    //alert("info - did something, great!");
    return false;
    };
这里有一个小解释:

  • PHP是服务器端语言
它从用户那里获取请求并生成要返回的html和js文件。如果在html/js文件中使用了一些名为$var1的变量,那么它们将替换为其值

客户机对此一无所知,因为他得到了生成的html/js文件。
在客户端,生成的javascript将使用服务器生成的常量值运行。

我需要这些值来自调用此JS函数的PHP脚本$var1$var2$var3在脚本中得到响应。你是什么意思?-对不起,如果这是显而易见的…谢谢你的回答,但你能具体说明一点吗?如何从PHP变量中获取“某些值”谢谢,你是说在客户端$var1。。。将替换为html其余部分中提供给客户端的相同PHP值?甚至$var1。。。在JS里面-我会试试,让你知道…太棒了!这是一个概念,因为我不是PHP背景,所以我不确定语法。通过在互联网上快速搜索,我认为这种语法可以:让我知道它是否有效如果JS是由PHP在服务器端创建/解析的,这意味着,如果JS在PHP脚本中,它可以工作,但是如果我将JS文件包含到PHP脚本中,服务器“解析器”会忽略PHP标记。-谢谢看这里:有趣…这可能非常方便…考虑将JS文件扩展名切换到PHP,可能会使JS文件无法被“解析”html脚本之外的窥视者读取…需要运行一些测试…关于隐藏JS看这里: