如何从MySQL数据库中获取数据并通过PHP输出为JSON,然后在JQuery中跨域ajax请求数据
我正在使用一个数字看板播放器,它允许我使用HTML和javascript来显示东西,在我的例子中,我正在构建一个包含产品和价格列表的菜单板。我已经创建了一个php系统来为产品和价格创建条目,这些值存储在MySQL数据库中。我想做的是让一个PHP脚本以JSON格式输出mysql数据,然后在菜单板上显示产品和价格的跨域ajax请求。不幸的是,菜单板不能支持PHP,所以我不得不临时通过JSON获取数据。在过去的几个小时里,我一直在绞尽脑汁想弄明白这一点,但我似乎不明白。任何帮助都将不胜感激 编辑1 我有一个php脚本和html文件,但似乎无法显示数据。以下是文件 showjson.html如何从MySQL数据库中获取数据并通过PHP输出为JSON,然后在JQuery中跨域ajax请求数据,php,mysql,ajax,json,Php,Mysql,Ajax,Json,我正在使用一个数字看板播放器,它允许我使用HTML和javascript来显示东西,在我的例子中,我正在构建一个包含产品和价格列表的菜单板。我已经创建了一个php系统来为产品和价格创建条目,这些值存储在MySQL数据库中。我想做的是让一个PHP脚本以JSON格式输出mysql数据,然后在菜单板上显示产品和价格的跨域ajax请求。不幸的是,菜单板不能支持PHP,所以我不得不临时通过JSON获取数据。在过去的几个小时里,我一直在绞尽脑汁想弄明白这一点,但我似乎不明白。任何帮助都将不胜感激 编辑1 我
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$.ajax({
url:"http://localhost/blakewilson/api.php",
dataType: 'jsonp', // Notice! JSONP <-- P (lowercase)
success:function(json){
// do stuff with json (in this case an array)
$("#userdata tbody").html("");
$.getJSON(url,function(data){
$.each(data.members, function(i,user){
var tblRow =
"<tr>"
+"<td>"+user.postID+"</td>"
+"<td>"+user.postProduct+"</td>"
+"<td>"+user.postPrice+"</td>"
+"</tr>" ;
$(tblRow).appendTo("#userdata tbody");
},
error:function(){
alert("Error");
}
});
</script>
不知道房间里有什么
echo $_GET['callback']."(".json_encode($arr).");";
但你可以试着把它全部删除到
echo json_encode($arr);
如果您需要发送2条数据,只需将其构建到另一个数组中即可。例如:
echo json_encode(array('message' => $_GET['callback'], 'data' => $arr));
下面的链接很适合我,你可以试试
Javascript无法执行跨域ajax请求。目标url必须是同一个域(也许有人知道对子域的请求是否也是如此)。我不是那个意思,我的播放器可以呈现ajax和jquery,所以这没有问题。它只需要跨域,因为显示价格和产品的html页面将位于player@charlotte Dunois上。您知道,
$。getJSON
do是一个AJAX调用,所以您在技术上是在AJAX成功回调中进行AJAX调用的?是的,我意识到,我无意中在中发布了这一点@Sebastienhave您是否尝试过console.log(json)
查看它在执行过程中是否触发了成功回调,并查看您是否在json
参数中收到数据。谢谢@chris-n。我之所以要回电话,是因为我基本上刚刚离开这篇文章。这对我来说非常有用,我只需要知道如何在表格中输入这些值。请提供问题的完整答案,而不仅仅是一个链接
Notice: Undefined index: callback in E:\xampp\htdocs\blakewilson\api.php on line 13
([{"postID":"8","postProduct":"Synthetic Oil Change","postDollar":"29","postCents":"95","postDate":"2014-08-12 12:11:00"},{"postID":"9","postProduct":"Tire Rotation","postDollar":"16","postCents":"95","postDate":"2014-08-12 12:11:10"},{"postID":"10","postProduct":"Rotate and Balance","postDollar":"39","postCents":"95","postDate":"2014-08-12 12:11:21"},{"postID":"11","postProduct":"4-Wheel Alignment","postDollar":"79","postCents":"95","postDate":"2014-08-12 12:11:35"},{"postID":"12","postProduct":"Cooling System Service","postDollar":"129","postCents":"95","postDate":"2014-08-12 12:11:51"},{"postID":"13","postProduct":"Transmission Flush","postDollar":"189","postCents":"95","postDate":"2014-08-12 12:12:07"},{"postID":"14","postProduct":"AC Performance Service","postDollar":"69","postCents":"95","postDate":"2014-08-12 12:12:19"}]);
echo $_GET['callback']."(".json_encode($arr).");";
echo json_encode($arr);
echo json_encode(array('message' => $_GET['callback'], 'data' => $arr));