我正在尝试构建一个大量利用JSON进行数据访问的HTML5应用程序。在几个实例中,我想使用getJSON对象(使用JavaScript和JQuery)将JSON对象发布到PHP页面。然后,该PHP页面将获取JSON对象,执行一些业务逻辑,然后将单独的JSON对象返回到调用页面。
我可以获得一个返回到调用页面的有效JSON对象,但我似乎无法获取我在原始请求中传递的JSON对象。我试过$ _GET,$ _POST和其他几个选项。一切都没有用。
这是我在原始页面上的代码。它非常简单 - 当用户单击按钮时,我们执行一个AJAX调用,将JSON对象传递给名为receive_jason.php的页面。此页面应该评估传入的JSON对象并将另一个JSON对象返回到原始页面。
第1页:
<html lang="en">
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
</head>
<script type="text/javascript">
function StartPost()
{
var strJSON = '{"id":"3","artist":"The Beatles","alblum":"White Alblum"}';
var jsonURL = "receive_json.php";
$.getJSON( jsonURL,
strJSON,
function(data) {
var items = [];
responseMsg = data["success"];
alert(responseMsg);
});
}
</script>
<body>
<input type="button" name="Post Data" value="Post Data" onClick="StartPost();">
</body>
</html>
以下是receive_json.php页面上的PHP代码......
<?php
$incomingData = $_GET['artist'];
$myText =(string) $incomingData;
echo "{\"success\":\"" . strlen($myText) . "\"}";
?>
为了清楚起见,getJSON调用有效,我确实在返回时收到了一个有效的JSON调用。但我无法访问我传入的JSON对象。
我的问题......
1)这只是一个我可以解决的简单语法错误吗?
2)getJSON甚至是这个任务的正确功能吗?
3)我是否有一种简单的方法来调试getJSON请求,以便我可以看到页面上发生了什么?
答案 0 :(得分:1)
$.getJSON
发送GET请求。
您需要将$.ajax
与method: "POST"
和type: "json"
一起使用。
答案 1 :(得分:1)
使用类似的东西:
$.ajax({
url: "yourfile_orserverfile.php",
type: "POST",
data: {
//whatever your data is
}
datatype: "json",
success: function (status) {
if (status.success == false) {
//alert a failure message
} else {
//alert a success message
}
}
});