使用javascript时按钮不工作
我的按钮不能让我进入下一页。当我检查错误时,它给出以下错误: 未捕获的TypeError:无法读取未定义的“at”的属性“categoryID” 第53行 我在这个平台上找不到任何一个和我有同样问题的人,因此,呼吁帮助 我的PHP没有错误使用javascript时按钮不工作,javascript,php,Javascript,Php,我的按钮不能让我进入下一页。当我检查错误时,它给出以下错误: 未捕获的TypeError:无法读取未定义的“at”的属性“categoryID” 第53行 我在这个平台上找不到任何一个和我有同样问题的人,因此,呼吁帮助 我的PHP没有错误 $(document).ready(function () { getcategories(); function getcategories() { var url = serverURL() + "/getcategories.php";
$(document).ready(function () {
getcategories();
function getcategories() {
var url = serverURL() + "/getcategories.php";
var JSONObject = {
"categoryID": localStorage.getItem("categoryID")
};
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (arr) {
_getCategoryResult(arr);
},
error: function () {
validationMsg();
}
});
}
function _getCategoryResult(arr) {
var t
if ($.fn.dataTable.isDataTable('#categoryresult')) {
t = $('#categoryresult').DataTable();
}
else {
t = $('#categoryresult').DataTable({
"searching": false,
"lengthChange": false
});
}
t.clear();
//loop for the number of results found by getcategories.php
for (var i = 0; i < arr.length; i++)
//add a new row
t.row.add([
arr[i].categoryID,
arr[i].categoryname,
"<a href='#' class='ui-btn' id='btn" + arr[i].categoryID + "'>Category</a>" //add a new [Category] button
]).draw(false);
$("#btn" + arr[i].categoryID).bind("click", { id: arr[i].categoryID }, function (event) { //error
var data = event.data;
showcategory(data.id);
});
}
$("#categoryresult").show();
function showcategory(categoryID) {
//alert(categoryID);
window.location = "showlist.html?categoryID=" + categoryID;
}
});
$(文档).ready(函数(){
getcategories();
函数getcategories(){
var url=serverURL()+“/getcategories.php”;
var JSONObject={
“categoryID”:localStorage.getItem(“categoryID”)
};
$.ajax({
url:url,
键入:“GET”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(arr){
_getCategoryResult(arr);
},
错误:函数(){
validationMsg();
}
});
}
函数_getCategoryResult(arr){
变量t
if($.fn.dataTable.isDataTable('#categoryresult')){
t=$('#categoryresult').DataTable();
}
否则{
t=$('#categoryresult')。数据表({
“搜索”:错误,
“长度变化”:错误
});
}
t、 清除();
//循环获取getcategories.php找到的结果数
对于(变量i=0;i
也许你想试试这个
for (var i = 0; i < arr.length; i++){
//add a new row
t.row.add([
arr[i].categoryID,
arr[i].categoryname,
"<a href='#' class='ui-btn' id='btn" + arr[i].categoryID + "'>Category</a>" //add a new [Category] button
]).draw(false);
$("#btn" + arr[i].categoryID).bind("click", { id: arr[i].categoryID }, function (event) { //error
var data = event.data;
showcategory(data.id);
})};
for(变量i=0;i
您忘记在for循环中放入封闭,因此,arr[i]=undefined第53行在哪里。如果您的arr中有未定义的内容,请尝试console.log(arr);在输入getCategoryResult时转储arr对象以查看整个内容。结构可能与您预期的完全不同。作为一种良好的做法,请始终在编写内部代码之前先编写封闭内容;)即可。非常感谢您的帮助!:)