我有一个 HTML 文件,其中包含如下所示的各个字段(我只显示一个示例,因为其余的都是相同的):
<map name="parcerlas">
<area shape="poly" coords="618,4,618,74,681,76,683,56,684,39,684,27,683,14,682,4" href="#" alt="Parcela 9" title="Parcela 9" onclick="getdata('9');">
</map>
使用函数getdata()
,我检索内部的ID
,并且需要使用AJAX传递此ID
> 到另一个 PHP 文件并在新文件中使用它。我怎样才能实现这个目标?
这是我的 getdata()
函数:
<script type="text/javascript">
function getdata(id){
alert(id);
$.ajax({
type: "POST",
url: "activations.php",
data:
{
id;
}
}
</script>
最佳答案
您需要指定数据的键:
data: { 'id': id }
您的代码片段中还存在语法错误:
function getdata(id){
alert(id);
$.ajax({
type: "POST",
url: "activations.php",
data: {
'id': id // < no need for semi-colon, properties are key->value based, 'key': value
}
}); // << no closing bracket and semi-colon
} // << close your function
所以你可以在你的activations.php中访问它:
$_POST["id"]
始终检查它是否已设置:
if (isset($_POST["id"])) $id = $_POST["id"]; else exit;
回答OP的具体问题:
您需要打开与 SQL 服务器的 PDO 连接(例如 MySQL)
if (isset($_POST["id"])) $id = $_POST["id"]; else exit;
$db = new PDO('mysql:host=localhost;dbname=yourdb;charset=utf8',
'username',
'password'); // Open a connection to your database
$q = $db->prepare("SELECT * FROM achievements WHERE id=?"); // Get all achievements where id=$id
$q->execute(array($id)); // Run the query
$rows = $q->fetchAll(); // Fetch the query, associated array
echo json_encode($rows); // Convert the $rows to json, so javascript can read it
您必须将 ajax 请求的数据类型设置为 JSON 或使用 $.parseJSON(data); 自行解析数据
您可以使用返回的数据向 ajax 添加成功函数:
function getdata(id){
alert(id);
$.ajax({
type: "POST",
url: "activations.php",
data: {
'id': id // < no need for semi-colon, properties are key->value based, 'key': value
},
success: function(data) {
var achievements = $.parseJSON(data);
// use achievements variable
}
}); // << no closing bracket and semi-colon
} // << close your function
关于javascript - 如何通过 AJAX 将 ID 发送到另一个文件并在该文件中使用该 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25117559/