如何从MySQL数据库中获取数据并通过PHP输出为JSON,然后在JQuery中跨域ajax请求数据

如何从MySQL数据库中获取数据并通过PHP输出为JSON,然后在JQuery中跨域ajax请求数据,php,mysql,ajax,json,Php,Mysql,Ajax,Json,我正在使用一个数字看板播放器,它允许我使用HTML和javascript来显示东西,在我的例子中,我正在构建一个包含产品和价格列表的菜单板。我已经创建了一个php系统来为产品和价格创建条目,这些值存储在MySQL数据库中。我想做的是让一个PHP脚本以JSON格式输出mysql数据,然后在菜单板上显示产品和价格的跨域ajax请求。不幸的是,菜单板不能支持PHP,所以我不得不临时通过JSON获取数据。在过去的几个小时里,我一直在绞尽脑汁想弄明白这一点,但我似乎不明白。任何帮助都将不胜感激 编辑1 我

我正在使用一个数字看板播放器,它允许我使用HTML和javascript来显示东西,在我的例子中,我正在构建一个包含产品和价格列表的菜单板。我已经创建了一个php系统来为产品和价格创建条目,这些值存储在MySQL数据库中。我想做的是让一个PHP脚本以JSON格式输出mysql数据,然后在菜单板上显示产品和价格的跨域ajax请求。不幸的是,菜单板不能支持PHP,所以我不得不临时通过JSON获取数据。在过去的几个小时里,我一直在绞尽脑汁想弄明白这一点,但我似乎不明白。任何帮助都将不胜感激

编辑1 我有一个php脚本和html文件,但似乎无法显示数据。以下是文件

showjson.html

<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));