Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript时按钮不工作_Javascript_Php - Fatal编程技术网

使用javascript时按钮不工作

使用javascript时按钮不工作,javascript,php,Javascript,Php,我的按钮不能让我进入下一页。当我检查错误时,它给出以下错误: 未捕获的TypeError:无法读取未定义的“at”的属性“categoryID” 第53行 我在这个平台上找不到任何一个和我有同样问题的人,因此,呼吁帮助 我的PHP没有错误 $(document).ready(function () { getcategories(); function getcategories() { var url = serverURL() + "/getcategories.php";

我的按钮不能让我进入下一页。当我检查错误时,它给出以下错误:

未捕获的TypeError:无法读取未定义的“at”的属性“categoryID” 第53行

我在这个平台上找不到任何一个和我有同样问题的人,因此,呼吁帮助

我的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对象以查看整个内容。结构可能与您预期的完全不同。作为一种良好的做法,请始终在编写内部代码之前先编写封闭内容;)即可。非常感谢您的帮助!:)