我收到未捕获的TypeError:无法在控制台中读取未定义属性'sort'错误。有人请解释这里出了什么问题。我需要做的就是通过JSON数组排序,数据已从数据库中取出并显示出来!
带编码的样本会很有用。提前感谢任何帮助!
我的阿贾克斯:
var getData;
$("form").on("submit", function () {
var data = {
"action": "test"
};
data = $(this).serialize() + "&" + $.param(data);
$.ajax({
type: "POST",
dataType: "json",
url: "ajax2.php",
data: data,
success: function (data) {
getData=data;
$("#main_content").slideUp("normal",function(){
//$(".the-return").html("<br />JSON: " + data+"<br/>");
for (i = 0; i < data.length; i++) {
$(".the-return").append("<div class='inside_return'>Name:" + data[i].name + "<br/>Id:" + data[i].id + "<br/>Pricing:" + data[i].rate + "<br/>Postcode:" + data[i].postcode+ "<br/>Reputation:" + data[i].reputation+"<br/>Review Plus:" + data[i].plus+"<br/>Review Negative:" + data[i].neg+"<br/><h1>Availability</h1>Week Morning:" + data[i].weekM+"<br/>Week Afternoon:" + data[i].weekA+"<br/>Week Evening:" + data[i].weekE+"<br/>Weekend Morning:" + data[i].endM+"<br/>Weekend Afternoon:" + data[i].endA+"<br/>Week Evening:" + data[i].endE+"</div>");
//alert(data[i].name)
}
});//closes #main_content
}
});
return false;
});
用户点击排序按钮触发的功能:
$("#Name").on("click",function()
{
$(".the-return").slideUp("normal",function()
{
getData.sort('name');
for (i = 0; i < getData.length; i++) {
$(".the-return2").append("<div class='inside_return'>Name:" + getData[i].name +"</div>");
}
});
});
排序的功能:
getData.sort(function (a, b) {
var retVal = 0;
switch (sortOption) {
case 1:
retVal = a.name > b.reputation ? 1 : (a.name < b.reputation ? -1 : 0);
break;
}
return retVal;
});