gpt4 book ai didi

javascript - 通过ajax发送php和js变量到php页面和mysql表

转载 作者:行者123 更新时间:2023-11-30 12:16:53 26 4
gpt4 key购买 nike

我一直在寻找一些类似的问题,但似乎没有一个能提供我正在寻找的具体答案。我有一些 js 变量,它们通过 ajax 传递到 location.php,然后将它们放入 mysql 表中。到目前为止,ajax 调用如下所示:

function postLocation()
{
//var teamName = $('.team_name').val(); //Neither of the two work
var teamName = document.getElementById('team_name').value;
navigator.geolocation.getCurrentPosition(function(position)
{
pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
$.ajax(
{
url:'location.php',
type: 'POST',
datatype: 'json',
data: {
'posx':position.coords.latitude,
'posy': position.coords.longitude,
'team_name':$team_name
}, // post to location.php
success: function(data) {
alert(data);
},

error: function(data) {
alert("There may an error on uploading. Try again later"); //This is what displays on the screen every time
},
});
});
}

您还会注意到我有 'team_name' = $team_name -> 这基本上是我想做的,但是我找不到使用现有 ajax 执行此操作的最佳方法结构。

EDIT 使用 var teamName = document.getElementById('team_name').value; 从隐藏字段中获取值只会导致警报给出错误消息.在浏览器调试中,它告诉我这是一个 500 内部服务器错误。

编辑 2 这是我在 index.php 页面上的 html 代码:

<div class="titleText"><h1><?php 
echo $stagerow['stage'];
echo $id;
$team_name = $_SESSION['team_name'];
echo $team_name;
?></h1>
You can <a href="http://testphp-olivlaytchev.rhcloud.com/logout.php" style="color:white">logout here.</a> <br></div>
<div id="map-canvas"></div>
</head>

<input type ="hidden" id="team_name" name="team_name" value="<?php echo $team_name?>" >
<!-- Script -->
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>

这是我从浏览器 POST http://testphp-olivlaytchev.rhcloud.com/location.php 500 (Internal Server Error)send 得到的错误信息
@jquery.js:9664m.extend.ajax
@jquery.js:9215(匿名函数)
@(索引):259

第 259 行是 $.ajax(

最佳答案

如果 $team_name 是一个 php 变量,你可以将它回显到一个隐藏的输入中并通过 js 获取它的值

<input type ="hidden" class="team_name" name="team_name" value="<?php echo $team_name?>" >

当您在 ajax 中传递数据时,该部分出现错误。 'team_name':$team_name 应该是 team_name: teamName`。

第一个参数作为键索引传递给 HTTP_POST,第二个是值,您不需要 $ 符号。

var teamName = $('.team_name').val();
data: {
'posx':position.coords.latitude,
'posy': position.coords.longitude,
team_name: teamName
}, /

在您的 php 中,您可以像下面这样访问它。

echo $_POST['data'];

关于javascript - 通过ajax发送php和js变量到php页面和mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32205744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com