Javascript 将json响应打印为带有键和值的数组
我需要将“result”div中的json响应打印为与php发送的相同的数组 Upload.php:Javascript 将json响应打印为带有键和值的数组,javascript,php,jquery,json,Javascript,Php,Jquery,Json,我需要将“result”div中的json响应打印为与php发送的相同的数组 Upload.php: $arr=array('username'=>array('isEmpty'=>'required','exists'=>'username exists'),'password'=>array('isEmpty'=>'requiredd')); echo json_encode($arr); <script src="jquery.min.js">&
$arr=array('username'=>array('isEmpty'=>'required','exists'=>'username exists'),'password'=>array('isEmpty'=>'requiredd'));
echo json_encode($arr);
<script src="jquery.min.js"></script>
<script src="jquery.form.min.js"></script>
<script type="text/javascript">
function a(){
$('#submitForm').ajaxForm({
dataType: 'json',
success: function(result){
document.getElementById('resulte').innerHTML=”I need to print the response array here like key=>value”;
}}).submit();
}
</script>
<form id="submitForm" name="submitForm" action="upload.php" method="post" enctype="multipart/form-data" >
File: <input name="myfile" type="file" />
<input type="button" id="submitBtn" name="submitBtn" value="Upload" onclick="a();" />
</form>
<div id="resulte" name="resulte"></div>
index.php:
$arr=array('username'=>array('isEmpty'=>'required','exists'=>'username exists'),'password'=>array('isEmpty'=>'requiredd'));
echo json_encode($arr);
<script src="jquery.min.js"></script>
<script src="jquery.form.min.js"></script>
<script type="text/javascript">
function a(){
$('#submitForm').ajaxForm({
dataType: 'json',
success: function(result){
document.getElementById('resulte').innerHTML=”I need to print the response array here like key=>value”;
}}).submit();
}
</script>
<form id="submitForm" name="submitForm" action="upload.php" method="post" enctype="multipart/form-data" >
File: <input name="myfile" type="file" />
<input type="button" id="submitBtn" name="submitBtn" value="Upload" onclick="a();" />
</form>
<div id="resulte" name="resulte"></div>
函数a(){
$('#submitForm').ajaxForm({
数据类型:“json”,
成功:功能(结果){
document.getElementById('result').innerHTML=“我需要在这里像key=>value一样打印响应数组”;
}}).submit();
}
文件:
假设我不知道index.php中的键和值以及接收到多少条记录。所以我想在这里使用一些条件,比如:
foreach($result as $key=>$value){
if($key==” username”){
echo $key.”=><br />”;
foreach($value as $k=>$val){
if($k==” isEmpty”){
echo $k.”=>”.$val.”<br />”;
}
}
}
}
foreach($result as$key=>$value){
如果($key==“用户名”){
echo$key.“=>
”;
foreach($k=>$val){
如果($k==“isEmpty”){
回声$k.“=>”$val.“
”;
}
}
}
}
如何通过javascript实现所有这些功能
-谢谢
已解决:
$arr=array('username'=>array('isEmpty'=>'required','exists'=>'username exists'),'password'=>array('isEmpty'=>'requiredd'));
echo json_encode($arr);
<script src="jquery.min.js"></script>
<script src="jquery.form.min.js"></script>
<script type="text/javascript">
function a(){
$('#submitForm').ajaxForm({
dataType: 'json',
success: function(result){
document.getElementById('resulte').innerHTML=”I need to print the response array here like key=>value”;
}}).submit();
}
</script>
<form id="submitForm" name="submitForm" action="upload.php" method="post" enctype="multipart/form-data" >
File: <input name="myfile" type="file" />
<input type="button" id="submitBtn" name="submitBtn" value="Upload" onclick="a();" />
</form>
<div id="resulte" name="resulte"></div>
(根据“josh”的回答)
函数a(){
$('#submitForm').ajaxForm({
数据类型:“json”,
成功:功能(结果){
for(var输入结果){
if(result.hasOwnProperty(key)){
如果(键==“用户名”){
document.getElementById('result')。innerHTML=key+“=>
”;
for(结果[key]中的var k){
如果(k==“isEmpty”){
document.getElementById('resulte').innerHTML+=k+“=>”+result[key][k]+“
”;
}
}
}
}
}
}}).submit();
}
试试这个
var p = {"username":{"isEmpty":"required","exists":"username exists"},"password":{"isEmpty":"requiredd"}};
for (var key in p) {
if (p.hasOwnProperty(key)) {
if(key == "username") {
document.getElementById('resulte').innerHTML += key + " -> " + p[key] + "<br />";
for (var k in p[key]) {
if (k == "isEmpty") {
document.getElementById('resulte').innerHTML += k + " -> " + p[key][k] + "<br />";
}
}
}
}
}
var p={“username”:{“isEmpty”:“必需”,“存在”:“username exists”},“password”:{“isEmpty”:“requiredd”};
for(p中的var键){
如果(p.hasOwnProperty(键)){
如果(键==“用户名”){
document.getElementById('result').innerHTML+=key+“->”+p[key]+“
”;
for(p[key]中的变量k){
如果(k==“isEmpty”){
document.getElementById('result').innerHTML+=k+“->”+p[key][k]+“
”;
}
}
}
}
}
我得到了这个输出“username->[object object]”请查看我的更新,如果您更正了您的答案,我将接受您的答案。我编辑了代码。您得到的是username->[object object]
,因为该值是一个数组,它是一个对象。你可以去掉那一行,改变条件以满足你的需要。谢谢你的编辑,现在我可以接受答案了。是的,我已经做到了(“解决”了我问题的一部分)