在提交AJAX PHP JSON时重新填充下拉框

时间:2014-02-09 15:16:03

标签: php ajax json mysqli

因此,在使用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");
}

我一直在用几个教程建立这种与我已经学习和使用的东西一起吃的东西。目前缺乏卫生设施是因为测试,希望确保工作正常,然后将其添加进来以缩小任何问题。

任何帮助将不胜感激。

先谢谢你一起来看看。

1 个答案:

答案 0 :(得分:0)

尝试以下方法:

<?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);

如果上述情况不成功,请告诉我们!