1
$result = mysql_query ("SELECT * FROM order_list");

$test = array();
$i=0;

$myjsons = array();
while($row = mysql_fetch_assoc($result)){ 
    echo $myjsons[] = json_encode(array($row));
}

和一个 AJAX javascript

function ajaxFunction() {
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
                // Something went wrong
                alert("Your browser is too old to run me!");
                return false;
            }
        }
    }
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function() {
        if (ajaxRequest.readyState == 4) {
            document.getElementById("resultTXT").value = eval("    (" + ajaxRequest.responseText + ")");
        }
    }
    ajaxRequest.open("POST", "userfind.php", true);
    ajaxRequest.send(null);
}​

javascript函数不会将数组存储到文本框中

谁能告诉我这里有什么问题?

谢谢

4

2 回答 2

1

JSON 输出在您的示例中无效,构建数组并输出单个 json 编码数组,如下所示:

$myjsons = array();
while($row = mysql_fetch_assoc($result)){ 
    $myjsons[] = $row;
}
echo json_encode($myjsons);
于 2012-07-10T13:14:37.583 回答
1

尝试:

 while($row = mysql_fetch_assoc($result)){ 
     $myjsons[] = json_encode(array($row));
    }
 echo json_encode($myjsons);

代替

while($row = mysql_fetch_assoc($result)){ 
  echo $myjsons[] = json_encode(array($row));
}

您可以使用 jquery 库进行 tha ajax 调用 http://api.jquery.com/jQuery.post/

$.post('userfind.php', function(data) {
   $("#resultTXT").val(data);// ==document.getElementById("resultTXT").value =data;
},'json'

);
于 2012-07-10T13:18:27.647 回答