【发布时间】:2011-02-19 14:52:51
【问题描述】:
当我通过以下方式执行 AJAX 请求时,我遇到了接收空数组的问题:
这是我在 JavaScript 中执行的代码:
<script type="text/javascript" src="lib/jquery.js"></script>
<script type="text/javascript" src="lib/jquery.json.js"></script>
<script type="text/javascript">
$(document).ready(function(){
/* Preparar JSON para el request */
var mJSON = new Object;
mJSON.id_consulta = new Array;
for (var i=0; i<3; i++){
mJSON.id_consulta[i] = new Object;
mJSON.id_consulta[i].id = i;
}
var sJSON = $.toJSON(mJSON);
$.ajax({
type: "POST",
url: "getUbicaciones.php",
data: sJSON,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(respuesta){
alert(respuesta);
},
error: function (request,error){
alert("Error: " + request.statusText + ". " + error);
}
});
});
</script>
这是PHP下的代码:
<?php
/* Decodificar JSON */
$m_decoded = $_POST;
print_r($m_decoded);
exit;
?>
使用 Chrome 的开发者工具,我从中得到的只是一个空数组:
Array
(
)
关于我做错了什么的任何线索?
字符串 sJSON 被正确编码,当我对该字符串进行“警告”时,我得到了这样的结果:
{"id_consulta":[{"id":1},{"id":2},{"id":3}]}
提前谢谢大家!
【问题讨论】:
标签: php javascript jquery ajax json