2014-10-06 93 views
1

我的AJAX是:

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

     } 
     }); 

如果根据条件,那么JavaScript变量值的变化我如何$ _GET []变量full_val?我想它是这样的:

$_GET[full_val] 

有没有办法将JavaScript的变量传递给PHP?

回答

2

如果你想字面指数full_val,然后用它在查询字符串:

data: 'full_val='+add, 

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

或者,您也可以把在该领域中的对象:

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

下面是描述:

数据
类型:PlainObject字符串阵列
数据要被发送到服务器。它被转换成查询字符串,如果还不是字符串的话。它附加到GET请求的url。

+0

感谢,遗憾的noob问题。 – 2014-10-06 04:55:54

+0

@monkeycoder确定男人没有问题,当我们第一次使用东西的时候,我们都是noob的)我很高兴这有帮助 – Ghost 2014-10-06 04:57:53

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'];

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]

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}", 
)); 
0

尝试使用此

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