gpt4 book ai didi

javascript - 从 AJAX 返回的 Javascript 数组

转载 作者:行者123 更新时间:2023-12-03 10:43:22 25 4
gpt4 key购买 nike

我目前正在尝试实现 AJAX 请求:

$("form").submit(function() {
$.ajax({
type: "POST",
url: "user_locator.php",
data: $("form").serialize(), // serializes the form's elements.
success: function(data) {
//save userdata
var userdata = data;
console.log(userdata);
var lat_u = userdata["location"]["lat"];
var lng_u = userdata[1][1];
console.log(lat_u);
console.log(lng_u);
//make a marker
var usermarker = new google.maps.Marker({
position: new google.maps.LatLng(lat_u, lng_u),
map: map,
});
}
});
// avoid to execute the actual submit of the form.
return false;
});

此请求返回一个数组:

[Log] Array (index.php, line 177) (
[range] => 5
[location] => Array (
[lat] => 50.73743
[lng] => 7.0982068
)
)

但是,当我尝试使用以下方式访问返回值时:

`Var lat_u = userdata["location"]["lat"];`

我收到错误代码:

[Error] TypeError: undefined is not an object (evaluating 'userdata["location"]["lat"]')

这是我的 php 文件:

<?php
// configuration
require("../includes/config.php");

//if ajax is submitted
if(isset($_POST['range']) && !empty($_POST['location']))
{
//save data
$location["range"] = $_POST["range"];

//calculate latlng
$location["location"] = convert($_POST["location"]);
print_r($location);
}


?>

当我尝试使用:var userdata = JSON.parse(data);我收到错误:SyntaxError:JSON 解析错误:意外的标识符“Array”

有人知道我的错误是什么吗?

最佳答案

您必须在 PHP 中使用 json_encode 将数组显示为字符串,然后才能执行 JSON.parse$.parseJSON 在 JavaScript 中。

或者您可以发送 JSON header :

header('Content-Type: application/json');
echo json_encode($data);

而且您不必使用 JSON.parse$.parseJSON 来获取 JavaScript 数组。

关于javascript - 从 AJAX 返回的 Javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28672178/

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