2017-07-30 262 views
0

我已經通過響應訪問數組元素

enter image description here

功能

function getUserList() { 

$.ajax({ 
    url: "https://reqres.in/api/users", 
    type: "POST", 
    data: { 
     name: "paul rudd", 
     movies: ["I Love You Man", "Role Models"] 
    }, 
    success: function(response){ 

     console.log(response); // prints the object 


    } 
}); 

} 

我的問題是電影陣列如何返回以下JSON對象在JavaScript中訪問?我無法通過響應訪問它 - 如果我確實得到「未定義」,則返回。

即response.movi​​es

未定義

或response.movi​​es [0]

未捕獲typerror不能讀取屬性[0]的未定義

回答

2

對象的屬性似乎是"movies[]",不"movies",爲此,你可以用括號符號得到的

console.log(response["movies[]"][0]) 
2

嘗試response['movies[]']。此外,您可以控制檯日誌response對象,檢查裏面是什麼它

+0

我得到在這兩種情況下 – java

+0

答案編輯不確定的,檢查出來 – mattias

+1

感謝..... +1 – java

2

在你不好的命名返回你的後端,所以

訪問陣列您對訪問如下response.["movies[]"]

參見下面的示例:

response = { "movies[]": ["1","2","3"] }; 
 

 
console.log(response["movies[]"]);

1

電影是數組,使用$.each.forEach()

$.ajax({ 
    url: "https://reqres.in/api/users", 
    type: "POST", 
    data: { 
    name: "paul rudd", 
    movies: ["I Love You Man", "Role Models"] 
    }, 
    success: function(response) { 
    $.each(response.movies, function(index, value){ 
     // prints the object 
     console.log(value); 
    }) 
    } 
});