$ _GET javascript的变量到php

时间:2014-10-06 04:45:05

标签: php jquery ajax

我的ajax是:

add = 'request';
full_val = 'barrack obama';
$.ajax({
        url: 'plugins/add_friend.php',
        data: full_val+'='+add,
        success: function(data)
        {

        }
        });

如果javascript变量值根据条件而变化,那么i $ _GET []如何变量full_val?我希望它像:

$_GET[full_val]

有没有办法将javascript的变量传递给php?

5 个答案:

答案 0 :(得分:2)

如果您需要文字索引full_val,请在查询字符串中使用它:

data: 'full_val='+add,

因此,在PHP中,您可以使用$_GET['full_val']

或者,您也可以在该字段中放置一个对象:

data: {full_val: full_val, add: add},

以下是描述:

  

数据
  键入: PlainObject String Array
  要发送到服务器的数据。如果不是字符串,它将转换为查询字符串。它已附加到GET请求的URL。

答案 1 :(得分:1)

您的数据只有values且没有keys。请参阅下文,了解如何传递keysvalues

add = 'request';
full_val = 'barrack obama';
$.ajax({
    url: 'plugins/add_friend.php',
    data: {full_val:full_val,add:add},
    success: function(data)
    {

    }
});

在PHP中使用$_GET['full_val'];

答案 2 :(得分:1)

正确发送带有数据参数的值,并添加type:get以定义GET方法

add = 'request';
full_val = 'barrack obama';
$.ajax({
  type: "get",
  url: 'plugins/add_friend.php',
  data: {'full_val':full_val,'add':add},
  success: function(data) {

  }
});

然后你会得到关于php的值: -

使用$_GET['full_val']而不是$_GET[full_val]

答案 3 :(得分:0)

您可以使用.get()方法。您可以使用对象文字设置的变量。例如:

$.get("/plugins/add_friend.php", {
    add:  "request",
    full: "Barrack Obama"
}).done(function(data) {
    console.log("Status:", data.status);
    console.log("Received:", data.received);
});

PHP可以这样做:

$add  = filter_input(INPUT_GET, 'add', FILTER_SANITIZE_STRING);
$full = filter_input(INPUT_GET, 'full', FILTER_SANITIZE_STRING);
echo json_encode(array(
    'status': 'OK',
    'received': "{$add} and {$full}",
));

答案 4 :(得分:0)

尝试使用此

add = 'request';
full_val = 'barrack obama';
$.ajax({
        url: 'add.php',
        data: 'full_val='+add,
        success: function(data)
        {
           alert(data);
        }
        });