我希望在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>
$(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;
})
}
}
<?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?
答案 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);
?>