我必须从$ post方法
解析json数据$.post( "vehicle_route_qry.php",function(data) {
siteshistory = $.parseJSON(data);
siteshistory.shift();
draw_route(siteshistory);
$("#dev_det_spin").hide();
});
我的php文件
$myJSON = '{ "name":"John", "age":31, "city":"New York" }';
echo json_encode($myJSON);
我在回复中正确地得到了json 但是遇到这个问题
siteshistory.shift is not a function
我已加载以下js文件
<script src="js/function.js"></script>
<script src="js/jquery.min.js"></script>
<script src="https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/markerclusterer.js">
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDaL0ieAkLhzy1rDoLifajeowdXPwTvzmI"></script>
<!-- <script type="text/javascript" src="js/date.js"></script> -->
<script type="text/javascript" src="js/loader.js"></script>
<script type="text/javascript" src="js/header_function.js"></script>
但$ .parseJSON(data).shift()的shift函数不起作用 我无法找到有关换档功能的任何参考资料
建议会有所帮助
答案 0 :(得分:0)
检查一下:
https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Global_Objects/Array/shift
您的json应该是一个数组,不应该是执行 shift()
的对象。
您可以参考此问题将对象转换为JS中的数组:
https://stackoverflow.com/questions/6857468/converting-a-js-object-to-an-array-using-jquery
答案 1 :(得分:0)
使用
`"delete siteshistory.name"`;
而不是
"siteshistory.shift()";
答案 2 :(得分:0)
//您尝试shift()
的内容不是数组
尝试以下代码
var siteshistory = [];
siteshistoryObj = $.parseJSON('{ "name":"John", "age":31, "city":"New York" }');//add here your ajax response
//converting to array
$.each(siteshistoryObj, function (index, order) {
siteshistory.push({index : index});
});
siteshistory.shift();
console.log(siteshistory);// check array values