总体概述
大家好,我有 4 个范围,其中的值是动态输入的,但为了解决这个问题,我输入了一些值。我想从 span 中获取值,使用 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
这基本上将每个范围字段的值存储在指定变量中,然后尝试使用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!
});
映射的键(例如 first
、second
等)是您能够从 PHP 脚本访问值的名称。
关于php - 使用 Jquery ajax 发送多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7688349/