使用Jquery ajax发送多个变量

时间:2011-10-07 14:02:34

标签: php ajax jquery

一般概述

大家好,我有4个跨度,其中动态输入值,但为了这个问题的目的,我输入了一些值。我想从跨度中获取值,使用ajax将它们发送到php文件。如果它们符合php文件中设置的条件,则警告一些消息。这就是我到目前为止所拥有的......

HTML

这基本上包含跨度和跨度内的一些数字,下面的按钮有一个onclick事件来调用一个名为check的JavaScript函数。

 <span id="first" name="first">40</span>
      <span id="second" name="second">50</span>
      <span id="third" name="third">30</span>
      <span id="fourth" name="fourth">40</span></center>
      <input type="button" id="button" name="button" onClick="check()"/>

JavaSript

这基本上将每个span字段的值存储在指定的变量中,然后尝试使用ajax发送这些变量,然后在检索成功消息时发出警告,对失败的消息也是如此。

 function check() {
      var    one = $('#first').val();
       var   two = $('#second').val();
       var  three = $('#third').val();
       var  four = $('#fourth').val();  

    $.post("test.php",{ data : "one"+"&two"+"&three"+"&four" } ,function(data)
        {

         if (data=="yay") //for no input
         { alert("yay");
         }
         else 
         {
         alert("nay");
         }

         }


        } 

PHP 这些是span字段中的值必须满足的条件,ajax函数从此处检索成功和失败的消息。

  $one = $_POST["first"];
        $two = $_POST["second"];
         $three =$_POST["third"];
         $four = $_POST["fourth"];
         if($one > 5)        {

         echo "yay";
                           }
     elseif($two > 10 )        {

         echo "yay";  }

             elseif($three > 15 )        {

         echo "yay";  }

             elseif($four > 20 )        {

         echo "yay";  }

           else{
               echo "nay";
           }

问题

经过一些调试后,似乎php没有得到任何值,这意味着数据没有正确传递。我不认为这是通过ajax传递多个项目的方法。有谁知道我怎么解决这个问题? 非常感谢...

2 个答案:

答案 0 :(得分:8)

.post的第二个参数可以是与请求一起发送的参数图:

$.post("test.php", { 
    first: one,
    second: two,
    third: three,
    fourth: four
}, function(data) {
    //Done!
});

地图的键(例如firstsecond等)是您可以使用PHP脚本访问值的名称。

答案 1 :(得分:2)

$.post ("test.php", { first: one, second: two, third: three: four } /*...*/);
相关问题