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

时间:2013-07-19 03:15:54

标签: ajax post

这是我的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是否存在问题:

我是AJAX的新手。 - 谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

这样做:

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

答案 1 :(得分:0)

我不确定您希望如何使用$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将使用服务器生成的常量值运行。