使用Jquery ajax发送多个变量

总体概述

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

HTML

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

40 50 30 40  

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传递多个项目的方法。 有谁知道我怎么解决这个问题? 非常感谢…

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

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

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

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