1

我有 jquery 代码输出 json 数据,我需要将此数据发送到 url 并使用 php 获取

代码:

JSON.stringify(showtimes)

输出:

[{"show_id":"1","movie_id":"20","cinema_id":"10","status":"0","times":"00:00"},{"show_id":"2","movie_id":"21","cinema_id":"11","status":"1","times":"01:00"}, ... etc]

我需要JSON.stringify(showtimes)通过 ajax 将此 json 数据发送到 url 并使用 php 获取 json。

我的ajax代码:

$.ajax({
    type: 'POST',
    url: '/admin/save/',
    data: JSON.stringify(showtimes),  
    success: function(data){}
});

问题:

  • 检查ajax代码是否正确?
  • 如何使用 PHP 获取数据?
4

3 回答 3

3

首先,您应该在 javascript 中为您的 json 对象分配一个数据键:

$.ajax({
    type: 'POST',
    url: '/admin/save/',
    data: {json : JSON.stringify(showtimes)},  
    success: function(data){}
});

在您的 PHP 中,将访问 JSON 字符串:

$_POST['json'];

其次,在 PHP 中,您将希望使用以下示例收集数据:

$json = json_decode($_POST['json'], true);

然后,您可以将 JSON 数组作为关联数组访问:

foreach($json as $show_details){
    $show_id = $show_details['show_id'];
    ...
}
于 2012-06-08T14:20:33.830 回答
1

您可以使用以下内容检查 ajax 响应是否有效 JSON:

function isValidJSON($request_data)
{
  return (json_decode($request_data) != NULL) ? TRUE : FALSE;
}

然后,您可以使用json_decode()来解码数据。

于 2012-06-08T14:18:38.680 回答
0

要将 json 解码为 php 数组,请使用json_decode

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {

  //It is ajax

}
于 2012-06-08T14:18:14.123 回答