如何将jQuery变量放到PHP变量中

时间:2014-03-12 11:06:38

标签: javascript php jquery ajax

我正在尝试在文档准备好时将jQuery变量赋予PHP变量。我所拥有的是包含不同链接的所有类型值的列表,我通过cURL由外部网站获取。使用jQuery,我通过href链接得到了值。所以我想要的是当文档准备加载时,它应该将jQuery变量赋予php变量并回显它。

到目前为止我所拥有的:

//Javascript.js
$(document).ready(function() {
var value = $("a[href='index.php?p=trading&m=42&b=BTC']:eq(3)").text();
 $.ajax({
    url: "index.php",
    type: "get",
    data: value,
    success: function(){
        alert("success");
        alert(value);
    },
    error:function(){
        alert("failure");
    }
});

alert(value);   
});

值的输出= 55.0

<a href="index.php?p=trading&m=42&b=BTC">55.0</a> //from cURL page
<!-- index.php -->
<?php
$a = $_GET['value'];
if($_GET['value'] == "")
{
    echo("empty");
}
else {
    echo($a);
}
?>

GET / POST成功,但它没有显示在php页面上。希望有人能为此找到解决方案。

3 个答案:

答案 0 :(得分:4)

改变这个:

data: value,
success: function(){
    alert("success");
    alert(value);
},

到此:

data: "value=" + value,
success: function(response){
    alert("success");
    alert(response);
},

您需要从index.php文件中捕获响应(echo)并发出警告。

附加信息:看到整个index.php文件后

将此块放在PHP文件的顶部,而不是底部:

<?php
    if($_POST['value'] == "")
    {
        echo "empty";
    }
    else {
        echo $_POST['value'] ;
    }
    exit;
?>

并在最后添加exit;

当您通过ajax调用此php文件时,您不希望执行其余的php文件,只执行if $_GET块中的部分。所以这需要位于文件的顶部,然后退出,这样当其余为$_GET请求时,其余内容都不会被执行。

答案 1 :(得分:1)

试试这个

$(document).ready(function() {
var value = $("a[href='index.php?p=trading&m=42&b=BTC']:eq(3)").text();
 $.ajax({
    url: "index.php",
    type: "post",
    data: "value="+value,
    success: function(result){
        alert("success");
        alert(result);
    },
    error:function(){
        alert("failure");
    }
});

alert(result); 
});


index.php

$a = $_POST['value'];
if($_POST['value'] == "")
{
    echo "empty";
}
else {
    echo $a ;
}

答案 2 :(得分:0)

通过将data:value更改为data:{"value":value}

,您可以获得所需的结果

由于