我有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]
我需要通过 ajax JSON.stringify(showtimes)
发送此 json 数据到 url 并使用 php 获取 json。
我的 ajax 代码:
$.ajax({
type: 'POST',
url: '/admin/save/',
data: JSON.stringify(showtimes),
success: function(data){}
});
问题:
- 检查 ajax 代码是否属实?
- 如何使用PHP获取数据?
首先,你应该在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'];
...
}
您可以使用如下所示的内容检查 ajax 响应是否有效 JSON:
function isValidJSON($request_data)
{
return (json_decode($request_data) != NULL) ? TRUE : FALSE;
}
然后可以使用 json_decode() 对数据进行解码。
要将 json 解码为 php 数组,请使用 json_decode。
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
//It is ajax
}