jQuery页面显示从php

时间:2016-10-26 13:38:21

标签: php jquery json

我希望在json_encode函数中从php获取数据时在jQuery中显示数据。 总共有三个文件。 json.html

<html>
<head>
</head>
<body>
<script type="text/javascript" src="jquery-3.0.0.min.js"></script>
<script type="text/javascript" src="test.js"></script>
</body>
</html>
test.js

$(document).ready(function(){

	$.getJSON("json.php",function(json){
		
		alert(json.a);
		console.log(json.a);
	});

});

$(document).ready(function(){
function getA(){
	$.getJSON("json.php",function(json){
		echo json.$a;
	})
}
}
json.php

<?php
header('Content-type:application/json');
$a=3;
echo json_encode($a);
?>

当我运行代码时,它显示如下: test.js:4SyntaxError:意外的标识符'json'

感谢你所说的,前一个问题已经解决了。但是出现了令人难以置信的事情。 我更改了test.js如下:

$(document).ready(function(){

	$.getJSON("json.php",function(json){   
		document.write(json.a1.length);
		document.write(json.a.length);
	});    	
});

json.php

<?php
// header('Content-type:application/json');
$a = array('a1' =>aaaaa ,'b2'=>bb ,'c3'=>cc);
echo json_encode($a);
?>

这一次,浏览器告诉我'a'不是一个对象,但'a1'是一个对象。为什么元素不是数组传递给js?

4 个答案:

答案 0 :(得分:1)

如果你想在test.js中获得输出,那么你应该在json.php中修改你的代码,如下所示

<?php
    $data array('a' => 3);
    echo json_encode($data);

json_encode($data)将输出{"a":3}这是一个javascript对象,允许您在test.js中使用您的代码

     $.ajax({
        method: "POST",
        url: "json.php",
        success: function(data) {
            alert(json.a);// will alert 3
            console.log(json.a);// will print 3
        }
    });

答案 1 :(得分:0)

echo是一个PHP命令,而不是JavaScript。参见示例:

Sub Sort3()

    Dim i As Integer
    Dim LastRow As Long
    Dim lenght As String
    Dim LastRow_2 As String
    Dim L_text As Variant
    Dim R_text As Variant
    Dim M_text As Variant

    ThisWorkbook.Sheets("EQ_CLEAN").Select

    LastRow = Range("G" & Rows.Count).End(xlUp).Row

    LastRow_2 = Range("J" & Rows.Count).End(xlUp).Row

    For i = 2 To LastRow

        lenght = Range("G" & i)

        If Len(lenght) = 25 Then

            L_text = Left(Range("A" & i), 12)
            R_text = Right(Range("A" & i), 12)

            For x = 2 To Last_row_2

                On Error Resume Next
                n = Worksheets("EQ_CLEAN").Range("D1:D6000").Cells.SpecialCells(xlCellTypeConstants).Count

                If L_text <> Sheets("EQ_CLEAN").Range("J" & x) Then

                    Sheets("EQ_CLEAN").Range(Cells(x, 1), Cells(x, 2)).Select
                    Application.CutCopyMode = False
                    Selection.Copy
                    Range("D" & (n + 1)).Select
                    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
                    SkipBlanks:=False, Transpose:=False
                End If
            Next x
        End If
    Next i
End Sub
$(document).ready(function(){
    $.getJSON("https://viacep.com.br/ws/89208540/json/",function(json){
       console.log(json.localidade);
    });
});

答案 2 :(得分:0)

将test.js中的echo json.$a;替换为alert(json.a);

答案 3 :(得分:0)

在你的json.php文件中使用数组来赋值,例如

<?php
$a=array('a'=>3);
echo json_encode($a);
?>