【发布时间】:2014-09-20 22:16:20
【问题描述】:
我有一个 ajax 调用返回 json 我正在尝试将返回的项目发送到特定的输入文本 ID。
这是ajax:
$.ajax({
url: "php/myfirstfile.php",
type: "POST",
data: $("#frameroof").serialize(),
cache: false,
dataType: "json",
success: function (json) {
$.each(json, function () {
$.each(json, function (key, value) {
/// do stuff
$('#' + key ).val(value);
});
});
}
});
这是返回的内容:[{"a-frame":"100"}][{"vertical":"350"}]
当我需要一个循环时,它看起来我得到了 2 个数组。我不确定。
这里是php
if(isset($_POST["cart"])){
$frameArray = ($_POST["cart"]);
if(is_array($frameArray)){
foreach($frameArray as $row){
$catalogue = $row['catalogue'];
$certification = $row['certification'];
$catagory = $row['catagory'];
$subcatagory = $row['subcatagory'];
$length = $row['length'] ;
$sql = "SELECT `price` AS '$subcatagory' FROM `products` WHERE `catalogue_id` = '$catalogue' AND `certification` = '$certification' AND `catagory` = '$catagory' AND `sub_catagory` = '$subcatagory' AND `length` = '$length' ";
$result = $short_connect->query($sql);
if (($result) && ($result->num_rows > 0)) {
$results = array();
//convert query result into an associative array
while ($row = $result->fetch_assoc()) {
$results[] = $row;
}
//dump all data from associative array converted from query result
echo (json_encode($results,true));
$result->free();
}
}
}
}
$short_connect->close();
【问题讨论】:
-
[{"a-frame":"100"}][{"vertical":"350"}]作为字符串不是有效的 JSON -
我认为您正在尝试遍历字符串。
-
是否有可能看到你的一些 PHP 的样子?
-
那不是 JSON。要么你试图手动输出 JSON(你不应该这样做)并且正在破坏它,要么你的服务器代码运行了两次。无论哪种方式,我们都需要查看服务器端代码。
-
这里是php代码