【问题标题】:Re-populating Dropdown Box On Submission AJAX PHP JSON在提交 AJAX PHP JSON 时重新填充下拉框
【发布时间】:2014-02-09 15:16:02
【问题描述】:

因此,在使用 Ajax 提交表单后,我在将数据重新填充到下拉框中时遇到了问题。这是从下拉列表中删除一个对象,初始脚本工作正常,它只是获取新数据并填充。我的 PHP 脚本构建了一个 JSON 数组以输出到 Ajax 进行解析,但是当我检查 PHP 脚本时,唯一返回的是 }。

PHP 代码:

    $jasonData = "{";
include_once("../php_includes/db_connect.php");
$sql = "SELECT * FROM orginfo";
$user_query = mysqli_query($db_connect, $sql);
$count = mysqli_num_rows($user_query);
for($i = 0; $i < $count; $i++){
$rows = mysqli_fetch_array($user_query);    
$id = $rows["id"];
$orgname = $rows["orgname"];
$orgphone = $rows["orgphone"];
$jasonData .= '"option'.$id.'":{ "id":"'.$id.'","orgname":"'.$orgname.'","orgphone":"'.$orgphone.'" },';
}
$jsonData = chop($jsonData, ",");
$jsonData .= "}";
echo $jsonData;  

AJAX 代码:

function getorgs(){
var getorgs = ajaxObj("POST", "engine.php");
    getorgs.onreadystatechange = function() {
        if(ajaxReturn(getorgs) == true) {
            var remresponse = JSON.parse(getorgs.responseText);
            alert (remresponse);
        }
    }
    getorgs.send("getorgs");
}

我一直在根据一些教程和我已经学过和正在使用的东西来构建这个。目前缺乏卫生设施是因为测试,想要确保一切正常,然后添加它以缩小任何问题。

任何帮助将不胜感激。

提前感谢您查看。

【问题讨论】:

  • 将变量 (var getorgs) 声明为与其他命名函数 (getorgs()) 相同可能不是一个好习惯;此外,您可能想学习使用tw2.php.net/json_encode,生成JSON更简单。

标签: php ajax json mysqli


【解决方案1】:

尝试以下方法:

<?php

header('Content-Type: application/json;charset=UTF-8');// this line must reside on top (before any output)

$jasonData = array();
$user_query = mysqli_query($db_connect, 'SELECT*FROM`orginfo`');
while ($row = mysqli_fetch_assoc($user_query)) {
    array_push($jasonData, $row);
}
echo json_encode($jasonData, JSON_FORCE_OBJECT);

mysqli_close($db_connect);

如果上述方法不起作用,请告诉我!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2016-09-14
    • 1970-01-01
    相关资源
    最近更新 更多