javascript - jQuery Ajax POST 获取 JSON 并返回值

标签 javascript php jquery json ajax

好吧,我有一个 php 文件,当邮政编码被发布到它时,它会发送一个 get 请求来检索一些JSON数据。

JSON 输出如下:

[{"AddressLine1":"West George Street","AddressLine2":null,"City":"Glasgow","County":"Lanarkshire","HouseName":"1","HouseNumber":"48","Postcode":"G21BP"},{"AddressLine1":"West George Street","AddressLine2":null,"City":"Glasgow","County":"Lanarkshire","HouseName":"3","HouseNumber":"48","Postcode":"G21BP"},{"AddressLine1":"West George Street","AddressLine2":null,"City":"Glasgow","County":"Lanarkshire","HouseName":"2","HouseNumber":"48","Postcode":"G21BP"},{"AddressLine1":"West George Street","AddressLine2":null,"City":"Glasgow","County":"Lanarkshire","HouseName":null,"HouseNumber":"46","Postcode":"G21BP"}]

我在 php 页面上使用 print_r($result); 来显示结果

<小时/>

编辑

我的输出的 HTML 看起来像这样:

<html>
<head></head>
<body>
<pre>[{"AddressLine1":"Garelochhead","AddressLine2":null,"City":"Helensburgh","County":"Argyll And Bute","HouseName":null,"HouseNumber":"","Postcode":"G840EG"},{"AddressLine1":"Garelochhead","AddressLine2":null,"City":"Helensburgh","County":"Argyll And Bute","HouseName":"1","HouseNumber":"Flat 0","Postcode":"G840EG"},{"AddressLine1":"Garelochhead","AddressLine2":null,"City":"Helensburgh","County":"Argyll And Bute","HouseName":"1","HouseNumber":"Flat 1","Postcode":"G840EG"}]
</body>
</html>
<小时/>

我的 JS 目前如下所示:

$('.btnFind').click(function() {
	 var dataString;
	  $.ajax({ 		  
        url:baseUrl+'/postcode.php',
        type: 'post',
        datatype: "JSON",
        data: dataString,
        success: function() {
        //test
        }
        }).error (function() {
            alert('error with finding your address');
        }).complete (function(data) {
		     console.log(data);
		     //var AddressLine1 = data[0].AddressLine1,
				// AddressLine2 = data[0].AddressLine2,
				// City = data[0].City,
				 //County = data[0].County,
				// HouseName = data[0].HouseName,
				// HouseNumber = data[0].HouseNumber;
             alert(data[0].AddressLine1);
		  
        });     
					 });

但我不断收到以下错误:

Uncaught TypeError: Cannot read property 'AddressLine1' of undefined

我的猜测是 print_r 不合适,但说实话,自从我使用 JSON 以来已经有一段时间了,所以公平地说,我还没有达到标准。

如果这也有什么区别的话,它也会打印在一个空白的 html 页面上。

<小时/>

按要求控制台日志

Object
abort
:
(a)
always
:
()
complete
:
()
done
:
()
error
:
()
fail
:
()
getAllResponseHeaders
:
()
getResponseHeader
:
(a)
overrideMimeType
:
(a)
pipe
:
()
progress
:
()
promise
:
(a)
readyState
:
4
responseText
:
""
setRequestHeader
:
(a,b)
state
:
()
status
:
200
statusCode
:
(a)
statusText
:
"OK"
success
:
()
then
:
()
__proto__
:
Object

最佳答案

在引用你的对象之前,应该先欢迎该对象。 试试这个

data = JSON.parse(data);
alert(data[0].AddressLine1);

关于javascript - jQuery Ajax POST 获取 JSON 并返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42902776/

相关文章:

php - 使用php从mysql数据库导出一个csv文件

jquery - 如何删除没有指定类的元素

jquery - 如何使用 jquery.linkify 插件链接 @usernames 和 #hashtags

javascript - 让网站成为真正的立方体

javascript - 实现警报 UI Web

php - 使用 jQuery .ajax 作为投票脚本。投票成功后如何更新MySQL DB?

javascript - 无法在带有链接的页面上将图像居中。我究竟做错了什么?

javascript - ReactJS 中的路由行为异常

javascript - 用户名条目在 mongodb nodejs 中全部显示为 'null'

php - 图像数据库管理