Jquery在头json数组中获取元素

时间:2014-02-10 13:23:27

标签: jquery json

我试图用我在服务器响应头中获得的数据填充我的分页:

console.log(xhr.getResponseHeader('X-Pagination'));

返回:

{"total":12184,"total_pages":1016,"first_page":true,"last_page":false,"previous_page":null,"next_page":2,"out_of_bounds":false,"offset":0} 

现在我尝试使用这些数据:

                var headers = xhr.getResponseHeader('X-Pagination');
                    var options = {
                        bootstrapMajorVersion: 3,
                        size: "small",
                        currentPage: headers["next_page"],
                        totalPages: headers["total_pages"]
                    }

我不明白为什么但是:

                        headers["next_page"]
                        totalPages: headers["total_pages"]

返回undefined!我错了什么?感谢

3 个答案:

答案 0 :(得分:1)

使用

var headers = JSON.parse(xhr.getResponseHeader('X-Pagination'));

将其从string转换为对象,以便获得headers["next_page"]headers["total_pages"]

答案 1 :(得分:0)

根据您提供的数据

  

的console.log(xhr.getResponseHeader( 'X-分页'));   { “总”:12184 “TOTAL_PAGES”:1016, “first_page”:真 “last_page”:假 “previous_page”:NULL, “next_page”:2 “out_of_bounds”:假, “偏移”:0} < / p>

应该不是

headers["next_page"]
totalPages: headers["total_pages"]

headers.next_page
totalPages: headers.total_pages

JSON是js对象而不是数组。希望这会有所帮助。

答案 2 :(得分:0)

你应该解析回复:

var headers = JSON.parse(xhr.getResponseHeader('X-Pagination'));
var options = {
    bootstrapMajorVersion: 3,
    size: "small",
    currentPage: headers["next_page"],
    totalPages: headers["total_pages"]
    }