我的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?
答案 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
。请参阅下文,了解如何传递keys
和values
。
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);
}
});